将Javascript文件限制为仅在一页中使用(Ruby on Rails)

qui*_*osa 2 javascript ruby ruby-on-rails

我正在使用一个名为text_messages.js我希望仅在我的text_messages\new.html.erb页面中使用的javascript文件。

现在,当我进入控制台中项目的任何其他页面时,都会收到错误消息:

错误

之所以发生此错误,是因为我text_messages.js在每个页面中都在尝试运行该页面。谢谢!

Seb*_*lma 5

您可以使用stub告诉Rails即使使用也不希望加载什么文件require_tree .

例如,如果文件text_message.js位于app/assets/javascripts文件夹中,则可以将存根添加到application.js文件中,如下所示:

...
//= require_tree .
//= stub 'text_message'
Run Code Online (Sandbox Code Playgroud)

然后将文件添加到的预编译资源中config/initializers/assets.rb,例如:

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

然后将其手动添加到您的new.html.erb

<%= javascript_include_tag 'text_message' %>
Run Code Online (Sandbox Code Playgroud)

您需要在资产文件中进行所有更改来重新启动服务器。