【问题标题】:javascript_include_tag and stylesheet_link_tagjavascript_include_tag 和 stylesheet_link_tag
【发布时间】:2012-03-19 00:04:34
【问题描述】:
  1. 我想知道 Rails 应用程序中是否有一些标准(Rails-version-independent)文件夹用于放置 javascript 或样式表。
  2. 当我插入 javascript_include_tag 和 stylesheet_link_tag 时,它们默认链接到 /assets。如何指定文件夹,包含 javascripts 或包含样式表的文件夹?
  3. 我读到有一些 Rails.application.config.assets.paths 配置可以让我为资产指定文件夹(顺便说一句,我应该在哪个 .rb 文件中分配它的值?)。但它似乎为所有 JS 和 CSS 文件一起指出了一个文件夹,但我想将它们存储在单独的文件夹中。

【问题讨论】:

    标签: javascript ruby-on-rails include stylesheet assets


    【解决方案1】:
    1. 对于 rails 3,您可以将所有 javascript 和 CSS 文件放在 public/assets/javascripts 和 public/assets/stylesheets 在这种情况下,javascript_include_tag 将正确链接。 对于 rails 2 相同,只需将资产排除在外。
    2. 这些标签是助手,所以它们指向资产文件夹,分别指向文件夹 /javascripts 或 /stylesheets。

      <%= javascript_include_tag "something" %>
      

      生成指向 /assets/javascripts/something.js 的链接

    3. 你可以在config/application.rb中编辑路径就行了

      config.assets.enabled = true
      config.assets.paths << "#{Rails.root}/app/or_whatever_path_to_use"
      

      在里面

    【讨论】:

    • 2.至于我,我只得到 /assets/something.js,这是我最大的问题。
    • 通过定义 Base.asset_host api.rubyonrails.org/classes/ActionView/Helpers/… 自定义 assets 路径的根目录; ActionController::Base.asset_host = "assets.example.com" 在环境/development.rb、environments/production.rb
    • 对不起,我误读了您的评论,/assets/something.js 是正确的,在服务器上它将指向 javascript 文件夹。 app/assets/stylesheets 和 app/assets/javascripts 文件夹只是脚本和工作表的物理位置,在服务器上它们最终成一大堆@yourserver.com/assets/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多