2016-10-28 5 views
0

ユーザーが「男性」または「女性」をチェックできるプロファイルページを作成しようとしています。フォームを保存した後、ユーザーがページに再度アクセスするたびに、データベースに格納されているデータに基づいてデフォルトでジェンダーを設定する必要があります。データベースのデータに基づいて、レールのラジオボタンがデフォルト値にならない

ここでform_forヘルパーを使用しています。

<%= form_for @profile do |f| %> 
    <%= f.label :gender, "Male", :value => "m" do %> 
    <%= f.radio_button :gender, "m" %> 
    <% end %> 
    <%= f.label :gender, "Female", :value => "f" do %> 
    <%= f.radio_button :gender, "f" %> 
    <% end %> 
<% end %> 

答えて

0

私はあなたがこの方法のように使用する必要があり、この:あなたのモデル/ profile.rbで

<% form_for(@profile) do |f| %> 
    <%= f.radio_button :gender, "Male", :checked => @profile.is_male? %> 
    <%= f.radio_button :gender, "Female",:checked => @profile.is_female? %> 
<% end %> 

を:

class Profile 
    def is_male? 
    #write your code for check male 
    end 

    def is_female? 
    #write your code for check female 
    end 
end 
+0

はデフis_male? self.genderは==「M」 まだラジオボタンがチェック取得されていない偽 終了 エンド – Lag11

+0

を返す 他にtrueを返す場合。私は@ profile.genderを使用し、ビューでそれをチェックして、値 "f"を取得しています。 – Lag11

+0

性別をデータベースに「m」または「f」として保存していますか? –

関連する問題