我對Rails新手,我面臨的問題。我有validates_inclusion_of Rails 3與查詢不按預期工作
模型
Model1
id: integer
account_id: integer
Account
id: integer
我在型號1驗證如下,
型號代碼:
validates :account_id, :inclusion => { :in => Account.find(:all).collect(&:id)}
我用 查看代碼下拉:
<%= f.select :account_id, @accounts.collect {|acc| [acc.name, acc.id]}, {:prompt => 'Select Account' }, { :selected => @defaultaccount, :class => 'selectwidth' } %>
我正在使用客戶端驗證來驗證提交表單之前的字段。我正在使用Heroku來部署我的應用程序。
我先創建一個帳戶,然後從表單中嘗試創建一個新的model1。下拉列表中填入了我擁有的所有帳戶。然後我從下拉列表中選擇一個我創建的賬戶,客戶端驗證生效並且顯示「無效」,這是validates_inclusion_of的錯誤消息,就好像該賬戶從不存在一樣。不知道發生了什麼,我檢查了數據庫並創建了帳戶,這就是爲什麼首先在帳戶中加載下拉菜單的原因。
我將validates_inclusion_of更改爲rails 3驗證:account_id,:inclusion => {:in => {}}語法並重新部署。現在我嘗試在新的model1表單中選擇該帳戶,下拉列表不會爲先前創建的帳戶顯示錯誤。
因此,然後我創建了一個新帳戶,並嘗試爲驗證失敗重新生成的新帳戶創建新的model1。
那麼它像一個緩存問題?這是客戶端驗證問題嗎?我盡我所能去嘗試並找出問題所在,但我對發生的事情不知所措。
所以,每次我創建一個帳戶,它希望我重新部署哪個會殺死應用程序。我如何擺脫這個問題?不確定發生了什麼事。
配置, 的Rails 3 在Heroku的 部署使用資產管道
寶石: 客戶端驗證 雷
我沒有給出驗證查詢的整個邏輯,只是爲了簡單:)嗯謝謝關於評估的負責人。 – Baaju 2012-04-14 11:00:45
好的。有關驗證和範圍的評估問題有時可能會讓你生氣:) – lucapette 2012-04-14 11:02:13