2016-04-21 11 views
0
if @challenge.name == 'foo' 
    @challenge.category = 'habit' 
    @challenge.days_challenged = 21 
    @challenge.why = 'bar' 
else 

:days_challenged & :whyのためにデフォルトにない属性を適切fooなく:categoryため_formに設定されています。デフォルトのオブジェクトは、HTML

<div class="challenge-category"> 
    <input class="date-format-switcher" type="radio" value="goal" name="challenge[category]" id="challenge_category_goal"> 
    <label for="challenge_category_goal">Goal</label> 

    <input class="date-format-switcher" type="radio" value="habit" name="challenge[category]" id="challenge_category_habit"> 
    <label for="challenge_category_habit">Habit</label> 
    </div> 
    <%= f.number_field :days_challenged, class: 'day-challenge' %> 
    <%= f.text_area :why %> 
+0

をしてください、あなたのコントローラの方法を示し、それは常に「習慣」をデフォルトとなり、完全なコード – Ilya

答えて

1

私は意図的にラジオボタンをカスタマイズしていると仮定します。選択したラジオボタンには、属性を持たなければならない、すなわち

<input class="date-format-switcher" type="radio" value="habit" 
    name="challenge[category]" id="challenge_category_habit" checked /> 

動的に設定するには、「確認」:、

<%= f.radio_button :category, 'goal', class: 'date-format-switcher' %> 
<%= f.radio_button :category, 'habit', class: 'date-format-switcher' %> 
+0

を見ます。特集の課題は「ゴール」であり、チェックする必要があることを意味します。 –

+0

私は知っています。ラジオボタンの値が '@ challenge.category'と一致するかどうかをチェックするようにプログラムで設定する必要があります。 Railsには他のフォームフィールドのようにこれを行うヘルパー 'f.radio_button'があります。 – GoGoCarl

+0

上記の編集を参照してください。これは基本的に同じHTMLを生成しますが、Railsがフォームビルドを処理してみましょう。 – GoGoCarl

関連する問題