新Rails 3.1.3 + Datamapper路由资产问题

时间:2012-01-04 19:50:46

标签: ruby-on-rails ruby ruby-datamapper

我渴望为新的Rails项目试用DataMapper。我使用以下命令创建了我的项目:

rails new project_name -m http://datamapper.org/templates/rails.rb

我决定通过运行来测试我的应用程序:

rails server

当我转到创建的通用主页时,我看不到任何图像。我收到一个错误说明:

ActionController::RoutingError (No route matches [GET] "/assets/rails.png")

如果我创建任何其他脚手架并访问这些页面,我会收到关于样式表或未找到的javascript的类似错误。我仔细检查以确保常规的Activerecord-rails应用程序工作(它做了)。我很困惑。任何帮助将不胜感激。谢谢:))

1 个答案:

答案 0 :(得分:2)

出于某种原因,DataMapper的Rails模板完全用自己的标准Gemfile取代了标准Gemfile,它不包含任何资产处理内容(它还删除了一些其他东西,如jQuery支持,TestUnit,ActionMailer ...)。

您需要在设置新应用程序后将这些内容添加回group :assets do gem 'sass-rails', '~> 3.1.5' gem 'coffee-rails', '~> 3.1.1' gem 'uglifier', '>= 1.0.3' end gem 'jquery-rails'

config/application.rb

根据Per Frederick的建议,您还需要将其添加到require 'sprockets/railtie' 文件中:

{{1}}

I opened an Issuesubmitted a pull request来解决此问题。

更新:自2012年1月1日起,现在已修复此问题。模板的行为几乎与标准的Rails 3.1应用程序相同,唯一的变化是ActiveRecord被DataMapper替换。资产/ jQuery支持现在可以使用。