州と都市の属性を持つUserモデルを持つレールアプリがあります。
私は、特定の州と国の都市のリストを取得するために宝石を使用しています。
ユーザが選択した都市がユーザによって選択された州の都市リストにない場合に申し込みをしていますが、申し込みを許可せずにエラーを表示します。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()
に渡したいと思います。 これを修正するにはどうすればよいですか?