我on Rails的v3.0.9使用Ruby和我有在我的模型下面的代碼:Ruby on Rails如何使用「包含」驗證工作?
class User < ActiveRecord::Base
validates :users_role,
:inclusion => {
:in => UserRole.all.map(&:role)
},
:presence => true
end
當我瀏覽了相關的UserRole頁(也就是,當一個用戶對象實例參與一個頁面 - 例如,RoR傳統的「顯示」或「索引」視圖),並檢查日誌文件,我發現UserRole SQL查詢已執行。也就是說,UserRole.all.map(&:role)
運行。
我想知道Ruby on Rails如何適用於上述情況。它關係到性能?惰性加載UserRole.all.map(&:role)
?
可能的重複http://stackoverflow.com/questions/5040661/rails-3-model-validation-inclusion-in-does-not-work – Awea
@Awea這可能是這個問題的重複?被引用的問題詢問有關驗證不起作用,這個說明每次驗證運行時都會觸發查詢。 – rubish