【问题标题】:.js.erb file won't precompile.js.erb 文件不会预编译
【发布时间】:2013-10-18 14:50:24
【问题描述】:

当我尝试运行 rake assets precompile 时,我收到此错误:Unexpected token: operator (>)。 我发现这是因为 index.js.erb,因为将文件名更改为 .html.erb 使其编译。 这是 index.js.erb 的内容:

$('#haikus').append('<%= j render(@haikus) %>');
<% if @haikus.next_page %>
$('.pagination').replaceWith('<%= j will_paginate(@haikus) %>');
<% else %>
$('.pagination').remove();
<% end %>

haikus.js.coffee:

jQuery ->
if $('.pagination').length
      $(window).scroll ->
              url = $('.pagination .next_page').attr('href')
              if url &&  $(window).scrollTop() > $(document).height() - $(window).height() - 200
                      $('.pagination').html('Loading...')
                      $.getScript(url)
$(window).scroll()

index.html.erb:

<div id="haikus">
<%= render @haikus %>
</div>
<div class="row pagination">
<div class="large-12 columns">
    <%= will_paginate @haikus %>
</div>
</div>

如何修复它并使其编译?

谢谢!

【问题讨论】:

  • 错误在哪一行?
  • 错误出现在第 15748 行(完全错误:Unexpected token: operator (>) (line: 15748, col: 8, pos: 468462)
  • 哈哈,这并没有我希望的那么有用:(

标签: javascript jquery ruby-on-rails ajax asset-pipeline


【解决方案1】:

我怀疑这与它有很大关系:

将文件名更改为 .html.erb 使其编译

您是否尝试过从 js.erb 文件中删除逻辑?我真的在考虑无法从 javascript 文件中调用的“will_paginate”内容。也许您可以在文件中包含这一行并查看是否编译?

$('#haikus').append('<%= j render(@haikus) %>');

如果这不起作用,那么我们知道这与此有关;否则它很可能与 will_paginate 有关

【讨论】:

  • 如果我离开这行代码它会预编译,所以它与will_paginate有关
  • 你为什么不试着把这段代码放到你的js.erb中: alert("next page"); --> 看看是否编译
  • 您可能遇到的问题是 will_paginate 我认为 will_paginate 仅适用于视图和控制器;不是 JS 或模型。不过我不完全确定
  • 我为此遵循了 railcasts 教程。知道如何解决吗?
  • 恐怕你得把它描述得更透彻一点,我才能帮助你:)你还有什么可以给我的信息吗?
猜你喜欢
  • 2013-12-15
  • 2023-03-26
  • 2018-01-20
  • 1970-01-01
  • 1970-01-01
  • 2016-10-05
  • 2010-11-20
  • 1970-01-01
相关资源
最近更新 更多