铁路资产路径

时间:2011-08-02 15:28:47

标签: ruby-on-rails-3 assets

我在

  <link href="/assets/application.css" media="screen" rel="stylesheet" type="text/css" /> 
  <script src="/assets/application.js" type="text/javascript"></script> 

但是当我去http://localhost:3000/assets/application.css

Routing Error

No route matches [GET] "/assets/application.css"

P.S。 Rails 3.1.0.rc4,ruby 1.8.7

5 个答案:

答案 0 :(得分:3)

似乎Sprockets / Rails 3.1正在为我执行w / ruby​​ 1.9.2-p180 ...更新到Ruby-1.9.2-p290似乎可以解决这个问题。

可能与您的问题无关......但对于使用这些版本的Rails&amp;红宝石。

答案 1 :(得分:3)

我发现今天晚上更新到Rails 3.1后我发生了类似的事情。我正在开发一个没有使用ActiveRecord的项目,所以我修改了我的application.rb来排除它。通常读取require 'rails/all'的行只包含我需要的部分,如下所示:

require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "rails/test_unit/railtie"

这个列表在Rails 3.1中已经改变,包括Sprockets,它是使资产管道工作的核心组件。通过将此行添加到列表底部,我获得了按预期提供服务内容的资产管道:

require "sprockets/railtie"

重新启动后,/assets/application.js和其他资产开始按预期工作。

注意:如果你有这样的自定义设置,请务必打开railties gem并查看可能已更改的lib/rails/all.rb内容(如本例所示)。

答案 2 :(得分:1)

您的脚本和样式将从公用文件夹加载。删除公共资产文件夹,你应该好好去。

答案 3 :(得分:1)

在应用程序布局文件中,如果您有

<%= stylesheet_link_tag "/assets/application" %>

给出了

No route matches [GET] "/assets/application.css"

尝试将其更改为

<%= stylesheet_link_tag "application" %>

答案 4 :(得分:1)

我必须在application.rb中添加以下行:

    config.assets.enabled = true

类应用程序底部&lt;导轨::应用