当我尝试运行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>
如何修复它并使其编译?
谢谢!
答案 0 :(得分:0)
我怀疑这与它有很多关系:
将文件名更改为.html.erb使其编译
您是否尝试过删除js.erb文件中的逻辑?我真的在考虑无法从javascript文件中调用的“will_paginate
”内容。也许你可以在文件中放入这一行&amp;看看是否编译?
$('#haikus').append('<%= j render(@haikus) %>');
如果这不起作用,那么我们知道这与此有关;否则它最有可能与will_paginate有关