javascript_include_tag 导致 ActionView::Template::Error

javascript_include_tag causes ActionView::Template::Error

我在暂存环境中遇到此错误。到目前为止,我无法在开发中的本地机器上重现此错误。这是我得到的错误:

An ActionView::Template::Error occurred in widgets#options:


app/views/wa_admin/widgets/options.html.erb:50:in `_app_views_wa_admin_widgets_options_html_erb___4438918489025291975_70301100178220'

导致此问题的代码行是这样的:

<%= javascript_include_tag "scriptaculous-js-1.9.0/lib/prototype" %>

assets/javascripts 目录中确实存在该文件。有人知道问题是什么吗?或者至少我可以如何进一步调试它?

预计开发中不能复现错误;因为在开发中启用了回退到 app/assets 目录( config.assets.compile = true) .. 检查 config/environments/development.rb.

但在暂存、生产环境中:回退到 app/assets 目录选项被禁用。

因此,解决方案是在部署期间预编译资产。

为了确保这是原因,您可以 运行 在本地 rake assets:precompile 然后推送新创建的 assets 目录,然后部署到暂存,它应该可以工作。