2012-01-04 60 views
1

我急于尝试使用DataMapper进行新的Rails项目。新Rails 3.1.3 + 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

为什么它是'“/asets/rails.png”'而不是'“/assets/rails.png”'? – Robin 2012-01-04 19:53:44

+0

哎呀!我的意思是资产;)我会改变 – Silverbolt 2012-01-04 19:55:11

回答

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' 

每弗雷德里克的建议,你也需要添加到您的config/application.rb文件这样的:

require 'sprockets/railtie' 

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

更新:截至2012年1月5日,现已修复。该模板的行为几乎与标准的Rails 3.1应用程序相同,唯一的变化是ActiveRecord被DataMapper替代。 Assets/jQuery支持现在可用。

+0

它也会将application.rb中的'require'rails/all''更改为一个明确的框架列表,但是会跳过链接,它用于在3.1中提供资产。将'require'链轮/ railtie'添加到application.rb应该有所帮助。 – 2012-01-04 20:09:28

+0

啊,是的。我会更新我的问题。 – 2012-01-04 20:12:49

+0

谢谢迪伦和弗雷德里克=) – Silverbolt 2012-01-04 22:03:44