javascript - js.erb 在本地工作但不在生产中

标签 javascript jquery ruby-on-rails infinite-scroll will-paginate

我按照这里的教程 http://railsforbeginners.com/chapters/chapter-9-infinite-scroll/无限滚动。该代码在本地运行良好,但当我将其部署到产品时。分页链接 (1 2 3 4) 仍然显示并且无限滚动不会触发。我还尝试将这些文件添加到 assets.rb 中,但没有成功

首先,我正在使用 Rails 4,我的 application.js 看起来像这样

//= require jquery2
//= require jquery.turbolinks
//= require jquery_ujs
//= require jquery-ui.min
//= require bootstrap-hover-dropdown.min
//= require bootstrap.min
//= require select2
//= require infinite_scroll
//= require turbolinks

Controller Action

respond_to do |format|
      format.html
      format.js { render "visitors/index" }
end

index.js.erb

$('#my-articles').append('<%= j render @articles %>');
<% if @articles.next_page %>
$('.pagination').replaceWith('<%= j will_paginate @articles %>');
add_tweets();
<% else %>
$(window).off('scroll');
$('.pagination').remove();
<% end %>



function add_tweets(){
  <% @articles.each do |article|%>
    handle_open_modal("<%= article.id %>");
  <%end%>

}

最佳答案

在你的assets.rb

试试这一行:

config.assets.precompile += ['Index.js'] 

-> Rails 只能通过其(非 ERB) Assets 文件名来引用文件

另外,作为一种风格,你应该将文件名小写为:index.js.erb

关于javascript - js.erb 在本地工作但不在生产中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40054126/

相关文章:

javascript - Sails.js Node 服务器 req.session 始终为空,使用 Passport-local 策略。

Javascript事件触发创建多个按钮.on('click)

jQuery 可拖动隐藏与 CSS3 多列

javascript - 当来源为 http 且目标 url 为 https 时,如何在本地网络中发出 POST 请求?

ruby-on-rails - 如何使用 Ruby on Rails 简化软删除过程?

javascript - jQuery 克隆后 Chrome 错误地使表单输入无效

javascript - 为什么JSON中的对象之间有逗号?

javascript - 在 JCrop 上设置最小高度和宽度

ruby-on-rails - 通过 Assets 管道携带 Sass 变量,Rails 3.1 rc1

ruby-on-rails - RoR 响应输出类型