ruby-on-rails – 为什么Heroku返回’devise / sessions.js没有预编译’?

我正在向Heroku部署一个Rails 3.2应用程序.我正在根据 https://devcenter.heroku.com/articles/rails3x-asset-pipeline-cedar在本地预编译资产.

但我得到了

ActionView::Template::Error (devise/sessions.js isn't precompiled):

有没有人遇到这个?

什么是正确的方式来确保Devise javascripts是预先设置的.

谢谢!

解决方法

谢谢你的建议.经过一番思考,我意识到这个问题是由于应用程序被配置为调用特定于控制器的javascript.如果有人遇到这个问题,这就是我所做的.

我已经通过布局文件中的以下标签加载了控制器特定的.js.

<%= javascript_include_tag "application",params[:controller] %>

问题是,如果一个特定的cotroller.js文件不存在,则会失败.在我的情况下,登录页面失败,因为我没有创建一个设计/ sessions.js文件.

我可以创建这个文件,但我觉得这是一个凌乱的方法.我不喜欢有很多空文件躺在周围的想法.

相反,我明确地从视图中调用特定于控制器的javascript

<% javascript 'controller.js' %>

在application_helpers中使用以下帮助器

def javascript(*files)
    content_for(:head) { javascript_include_tag(*files) }
end

似乎到目前为止工作正常

再次感谢您的建议.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...