资产已过滤掉,将无法投放

the*_*ava 2 javascript ruby-on-rails ruby-on-rails-4

资产过滤掉,将不送达:添加Rails.application.config.assets.precompile += %w( login.js )config/initializers/assets.rb并重新启动服务器

当我尝试运行我的应用程序时,我发现上述错误.

<% content_for :javascripts do %>
    <%= javascript_include_tag 'login' %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我已将所有js文件放入assets/javascripts,但仍然出现上述错误.

Dav*_*vid 8

作为替代解决方案,您还可以注释掉这一行development.rb:

config.assets.raise_runtime_errors

或设置为 false

这将禁用sprockets运行时错误("资产过滤掉,将不会被提供"yada yada错误)在开发中.

请记住,通过这样做,您可以屏蔽资产的生产错误:例如.有些资产将用于开发但不用于生产.(见这个)

如果你知道你在做什么,请使用它:)

心连心


Nik*_*kov 7

您必须包含所包含的所有js/css文件#javascript_include_tag和数组中的#stylesheet_link_tag方法Rails.application.config.assets.precompile.签出config/initializers/assets.rb(如果不存在则创建).它应该是这样的:

Rails.application.config.assets.precompile += %w( login.js )
Run Code Online (Sandbox Code Playgroud)

编辑后重启Rails服务器.

顺便说一句,它从错误的文本中是不言而喻的.

有关详细信息,请查看Rails Assets Pipeline文档:http://guides.rubyonrails.org/asset_pipeline.html.