Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 赫罗库为什么回来';designe/sessions.js isn';t预编译';?_Ruby On Rails_Heroku_Asset Pipeline - Fatal编程技术网

Ruby on rails 赫罗库为什么回来';designe/sessions.js isn';t预编译';?

Ruby on rails 赫罗库为什么回来';designe/sessions.js isn';t预编译';?,ruby-on-rails,heroku,asset-pipeline,Ruby On Rails,Heroku,Asset Pipeline,我正在Heroku上部署Rails 3.2应用程序。我正在根据在本地预编译资产 但是我越来越 ActionView::Template::Error (devise/sessions.js isn't precompiled): 还有其他人遇到过这种情况吗 确保预先编译Desive Java脚本的正确方法是什么 谢谢 尝试运行rake资产:预编译 尝试将其添加到config/environments/production.rb中: config.assets.precompile += %w

我正在Heroku上部署Rails 3.2应用程序。我正在根据在本地预编译资产

但是我越来越

ActionView::Template::Error (devise/sessions.js isn't precompiled):
还有其他人遇到过这种情况吗

确保预先编译Desive Java脚本的正确方法是什么


谢谢

尝试运行
rake资产:预编译


尝试将其添加到config/environments/production.rb中:

config.assets.precompile += %w( *.css *.js )

或者指定您的文件。

谢谢您的建议。经过一番思考,我意识到问题在于如何将应用程序配置为调用特定于控制器的javascript。如果其他人遇到这个问题,我会这么做

我一直在通过布局文件中的以下标记加载特定于控制器的.js

<%= javascript_include_tag "application", params[:controller] %>
到目前为止似乎还不错

再次感谢你的建议

我的解决方案:

<%= javascript_include_tag "application", controller_name if controller_name != "sessions" %>


Hi sethvargo。是的,我在听CedarHi Justin D。我感谢你的回答,非常感谢。这本应该是可行的(如果我创建了必要的.js文件,本应该是可行的),但是在一夜之间考虑了这个问题之后,我意识到问题是由于我调用特定于控制器的javascripts的方式造成的。我添加了一个答案,以帮助可能遇到类似问题的其他人。对于那些有兴趣使用添加js文件的方法的人,您可以在
app/assets/javascripts
中创建一个
design
文件夹,然后将
sessions.js
文件放入其中。如果你想想象一下登录页面,这很方便。注意:您需要列出单独访问的资产:非常感谢,这是我几个小时以来一直在寻找的答案!
def javascript(*files)
    content_for(:head) { javascript_include_tag(*files) }
end
<%= javascript_include_tag "application", controller_name if controller_name != "sessions" %>