私のモデルには、次のものがあります。
attr_accessor :address, :located_in_us
validates_length_of :address, :in => 1..50, :message => "Required field, please enter your address."
私のフォームには、米国にあるかどうかを尋ねるラジオボタンがあります。「はい」を選択した場合は、アドレスフィールドを必須にします。[いいえ]をクリックすると、アドレスを含むDIVを非表示にする表示/非表示が表示されますが、フィールドが非表示であっても必須であるため、フォームは送信されません。
私は次のことを試しました:
validates_length_of :address, :in => 1..50, :message => "Required field, please enter your address.", :unless => :located_in_us == "1"
ただし、アドレスの下に追加されたjavascriptは次のようになっているため、機能していないようです。
<script type='text/javascript'>$(function() { $('[name="myform[address]"]').rules('add', {"maxlength":50,"required":true,"unless":false,"minlength":1,"messages":{"required":"Required field, please enter your address."}});});</script>
私の質問は...ユーザーが[いいえ]ラジオボタンをクリックしたときに(米国に住んでいない)、住所フィールドが必須フィールドではなくなるようにフォームを作成するにはどうすればよいですか?