2011-07-26 61 views
1

我有一個rails應用程序,它在附件模型中有一個名爲main_image的字段,它是布爾值。假設在數據庫中只允許一個true但是多個false,但是因爲我現在有了範圍,所以每個資產只允許其中一個,這是另一個模型。如何允許多個虛假但每個附件只有一個真實?Rails建模其中一個值,但其他值爲其中的一個

+0

繼續並將您的編輯移動到答案並將其設置爲接受的答案。這樣,人們不會點擊它,認爲沒有答案(就像我做的那樣) –

+0

我會的,我會看看現在是否允許我這樣做。對於何時或我已經完成(對於信譽積分少於100的用戶),我有時間限制。 –

+0

好的我發佈了我的答案,但它不會讓我接受2天。 –

回答

3

現在我已經用在我的模型下面的代碼解決了這個問題:

validates_uniqueness_of :main_image, :scope => [:asset_id], :if=>:main_image 

因爲:main_image是true或false這說拿main_image領域,並確保它是每個ASSET_ID獨特只有它是真的,因爲如果它不是真的,它將返回false,從而跳過檢查模型是否是唯一的。

相關問題