フィールドをtrueまたはfalseで更新したい。しかし、それがすでにfalseまたはtrueであり、その逆で更新した場合、更新されたものは埋められません。それがどのようになり、解決策になるのでしょうか?
ビューの私のコードは次のとおりです。
<div>
<%= check_box_tag "group[group_type][]", {:class => "checkbox"} %><%= " show" %>
</div>
これがコントローラー上の私のコードです
def update
params[:group][:group_type] ||= []
respond_to do |format|
if @group.update_attributes(params[:group])
format.html { redirect_to admin_group_path(@group), :notice => 'Group updated' }
else
format.html { render :action => "edit"}
end
end
end
チェックボックスをオンにすると、データベースはfalseになり、チェックを外すとfalseになり、何も指定されていない場合、まだチェックまたはチェックを外すと、nilになります。そして、データベースに応じてデフォルトでチェックまたはオフにする方法はありますか?
何か案が?助けてくれてありがとう。
解決 :
このようにビューが変更されました:
<%= f.check_box :group_type %>
ありがとうございました。