我有一個Rails應用程序,其中包含狀態和城市屬性的用戶模型。
我正在使用寶石來獲取特定州和國家的城市列表。
我希望在註冊時,如果用戶選擇的城市不在用戶選擇的城市列表中,則不允許註冊並顯示錯誤。Rails根據另一個屬性的值驗證模型屬性
validates :state, presence: true, inclusion: { in: CS.states(:in).keys.collect{|x| x.to_s } } validates :city, presence: true, inclusion: { in: CS.cities((:state).to_sym, :in) }
我在user.rb模型中寫了這段代碼,但它不工作。
:state
應該引用用戶提交的'state'屬性的值,但我不認爲它在這裏工作。 我想將用戶給出的狀態值傳遞給函數CS.cities()
。 我該如何解決這個問題?