1

我渴望为新的 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 应用程序正常工作(确实如此)。我比较纳闷。任何帮助将不胜感激。谢谢 :)

4

1 回答 1

2

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

Gemfile设置新应用程序后,您需要将这些重新添加到您的应用程序中:

group :assets do
  gem 'sass-rails',   '~> 3.1.5'
  gem 'coffee-rails', '~> 3.1.1'
  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

根据 Frederick 在下面的建议,您还需要将其添加到您的config/application.rb文件中:

require 'sprockets/railtie'

我打开了一个问题提交了一个拉取请求来解决这个问题。

更新:截至 2012 年 1 月 5 日,此问题现已修复。该模板的行为与标准 Rails 3.1 应用程序几乎相同,唯一的变化是将 ActiveRecord 替换为 DataMapper。资产/jQuery 支持现在有效。

于 2012-01-04T20:00:49.523 回答