2011-06-27 48 views
0

我一直在使用Rails 2,最近改用Rails 3.遇到了一個大問題。每次我嘗試導軌生成模型或腳手架時,它都會給我提供相同的錯誤「沒有爲所需選項提供值 - '''。如果我做軌道生成控制器newController,它雖然工作。但只是模型或腳手架,我無法擺脫那個錯誤信息。我沒有看到很多人遇到同樣的問題。那麼我可能在這裏錯過了一個常見的Rails 3設置?沒有提供所需選項的價值'--orm'Rails 3

我的機器是Debian Lenny和rails 3.0.7。另外我沒有使用任何分貝。

~/projects/rails/contacts$ rails generate model user 
No value provided for required options '--orm' 

爲了記錄,我創造了另一個測試應用程序與

rails new test_no_db --skip-active-record 

然後

rails generate model User 

得到完全相同的錯誤消息:

No value provided for required options '--orm' 
+0

你在任何參數來創建時傳遞給'軌new'應用程序? – Dogbert

+0

不,我沒有。我知道你可以通過一個參數來完全跳過使用任何數據庫。但該應用程序可能將來會使用db,現在我們並不需要。所以我用通常的方式創建了它,並禁用了從配置文件訪問數據庫。 – swingfuture

回答

1

也許嘗試rails generate model User

如果這也行不通,那麼很可能您的項目中沒有active_record railtie(例如,如果您使用rails new rails_demo --skip-active-record啓動該項目)。爲了解決這個問題,請做相反的博客文章:http://therailworld.com/posts/27-Disable-ActiveRecord-in-Rails-3

+0

這是否不符合在應用程序創建中使用'--skip-active-record'的目的? – ryan

+0

是的,確切地說。如果有任何機會,活動記錄railtie不包括在內(例如,啓動項目時),ORM將無法工作。 –

+0

是的,禁用active_record也是我的問題。 @redspike當部署到heroku失敗時,我已禁用我的活動記錄,因爲我已經開始僅使用靜態頁面,並且稍後將實施資源。 – Uko

0

您可以將--orm選項傳遞給rails generate或scaffold。

rails generate model User name:string --orm=ORM_NAME 

你也可以在application.rb文件中設置你的orm,因爲你沒有設置它。

config.orm    :active_record 

我發現它here。它詳細闡述了

+0

我試圖在application.rb中添加行config.orm:active_record,但它不起作用。感謝您的閱讀。這是信息! – swingfuture

0

我有同樣的問題,並補充說:

rails generate scaffold Product title:string description:text image_uri:string price:decimal --orm mongo_mapper 
1

試試這個,它爲我工作:

rails generate model User --orm=mongo_mapper 
相關問題