ruby-on-rails - Rails 和页面特定的 Javascript

标签 ruby-on-rails

好的,我意识到这个问题已经被问过很多次了,但答案似乎从来没有解决我遇到的问题/问题。

我有一个 js 文件,我只想包含在特定页面上。有很多回复建议我将文件放入文件夹中,然后在 list 文件中仅引用这些文件夹 - 例如这个 Railscast(大约 06:20)谈到了这一点。

但是,我只有一个应用程序布局文件(我想这可能是我缺少的区域) - 因此该文件指向 application.js list ,因此我看不到如何有条件地包含内容。

也有点像这个资源 - http://railsapps.github.io/rails-javascript-include-external.html - 向下滚动到 页面特定脚本 子标题,它重复了 Railscast 的建议。但是没有提到多个应用程序布局文件。

如果有人可以帮助我澄清在这种情况下该怎么做,我将不胜感激。

我也许应该指出我正在使用 Rails 4。

最佳答案

当要呈现所述 View 时,您可以在 View 中使用 content_for 将内容“注入(inject)”到布局中。见:using-the-content-for-method

你需要做一些事情来实现这一点:

  • 添加占位符以产生布局中的内容。前任。
    <%= yield :js %>
  • 将 block (要生成的)添加到您的 View 中。前任:
    <%= content_for :js do %> <%= javascript_include_tag "my_script" %> <% end %>
  • 如果您在生产中使用 Assets 管道,并且想要在您的 production.rb 或相关环境配置中引用特定 Assets (如“my_script.js”)。您将需要使用以下方法对其进行预编译:
    config.assets.precompile=["my_script.js"]
  • 关于ruby-on-rails - Rails 和页面特定的 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18724247/

    相关文章:

    ruby-on-rails - 无法使 Resque 工作

    ruby-on-rails - 在 AJAX 请求期间使用 js 禁用所有 best_in_place 字段

    CMS 的 MySQL/Rails 版本控制 - 通常是如何完成的?

    ruby-on-rails - 如何干燥 Rails 4 中的操作按钮?

    ruby-on-rails - 数据库索引如何使搜索更快

    ruby-on-rails - 在 Spree Controller Decorator 上测试重写操作

    ruby-on-rails - 将 Angular 2 应用程序部署到 Heroku

    ruby-on-rails - rails : Where does new_*something*_path variable get set up?

    ruby-on-rails - Ruby函数将两个字符串合并为一个

    ruby-on-rails - 无法从 Rails Controller 中的 POST 中提取嵌套的 JSON 数据