我渴望为新的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应用程序工作(它做了)。我很困惑。任何帮助将不胜感激。谢谢:))
答案 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 Issue和submitted a pull request来解决此问题。
更新:自2012年1月1日起,现在已修复此问题。模板的行为几乎与标准的Rails 3.1应用程序相同,唯一的变化是ActiveRecord被DataMapper替换。资产/ jQuery支持现在可以使用。