2010-10-30 53 views
2

我只是搞清楚周圍的軌道我的方式,但我需要與rails generate scaffold命令的幫助不大。腳手架Rails的可空字段和外鍵

下面是我想使用

rails generate scaffold Expense user:??? name:string description:text 

我想要description場可爲空的命令和users場被鏈接到另一個模式 - 在這種情況下,我想爲用戶創建一個外鍵。我正在使用devise身份驗證框架。

我讀過很多回報率開發商儘量避免腳手架方法和選擇手動方法來代替,但我的web應用程序是非常簡單的,我已經想過要去腳手架的方式。

回答

6

腳手架只生成遷移,你再運行。生成文件後,只需打開生成的遷移並調整任何需要特定約束的值即可。默認情況下,列被設置爲空,除非你指定,否則如:

create_table "slugs", :force => true do |t| 
    t.integer "sequence",      :default => 1, :null => false 
    t.string "sluggable_type", :limit => 40 
    t.string "scope",   :limit => 40 
    t.datetime "created_at" 
    end 

這是由friendly_id插件生成的代碼,你可以看到他們指定的順序列不能爲空,而其他領域有其他約束。