2009-12-18 82 views
0

我有一個關於其中的下拉列表中值的來源問題:導軌 - 數據遷移與價值DB

我有設置原始表有一些初始值遷移:

add_column :contracts, :signature_status_id, :integer 

# lookup data 
sig = SignatureStatus.new(:name => "Delivered") 
sig.save! 
sig = SignatureStatus.new(:name => "Signed") 
sig.save! 

我有一個包含更新的值的表稱爲signature_statuses:

id, name 
1, 'Delivered; awaiting signature' 
2, 'Delivered; awaiting full execution' 
3, 'Terms being negotiated' 
4, 'Fully executed and filed' 

我有一個包含代碼拉出簽名狀態的一種形式:

<%= collection_select(:contract, :signature_status_id, @signature_statuses, :id, :name) %> 

當我希望它來自數據庫時,集合select正在引入「簽名」和「已發送」。我如何讓它做到這一點。

注意:我認爲數據是手動編輯而不是遷移,但我不確定。我還搜索了「已簽名」和「已發佈」的代碼,但唯一顯示的地方是正在遷移。

回答

0

事實證明我需要運行「rake db」並修復它。

0

我只是想知道你如何獲得signature_statuses表中的值列表?你在查詢你的開發數據庫嗎?您的應用程序是否以開發模式運行? database.yml文件是否正確設置爲指向您的開發數據庫?

也可以發佈填充@signature_statuses變量的控制器代碼。

多一點信息,我相信人們將能夠提供幫助。

+0

查詢開發數據庫 – easement 2009-12-18 22:37:21

0

嗯,這是一個有點古怪,但我懷疑如下:有可能是一個叫namesignature_status模型內部方法,其覆蓋缺省之一,它返回yesno

0

調試這一點,關鍵是看哪裏

@signature_statuses 

在控制器被設定。如果它從數據庫中提取,那麼這就是數據庫中的內容。我想知道是否有多個數據庫參與,您的遷移在哪裏更新了開發數據庫,​​但是您是針對生產(或類似情況)運行查詢。