微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

似乎到目前为止工作正常

再次感谢您的建议.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐