2012-01-04 117 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