在我的Rails應用程序中,我有2個模型:post和post_translations。Rails:限制已提交值的枚舉列
class PostTranslation < ActiveRecord::Base
belongs_to :post
LANGUAGES = %w(en fr es de it)
validates_inclusion_of :language, :in => LANGUAGES
end
class Post < ActiveRecord::Base
has_many :post_translations
end
我想,以防止同一種語言翻譯被提交兩次,所以我想限制枚舉在特定POST_ID的語言欄未列出的值。
我不知道我是否應該在模型,控制器或幫手中做到這一點。
哪個是最佳做法?
在此先感謝。
好的,這將防止記錄被保存,但在我的選擇列表中,我仍然可以選擇所有語言:如何隱藏已提交的語言? – pasine 2010-12-02 20:25:42
我認爲這需要一個列名,所以`:scope =>:post_id` – zetetic 2010-12-02 21:38:34