4

チェックボックスがあり、パラメーターが 1 の場合にチェックボックスをオンにしたいので、条件が true の場合にのみ :checked が true になるようにする必要があります。

<%= check_box_tag 'catalog_image', 1, :onclick => 'this.form.submit()', :checked => (params[:catalog_image] == 1)%>

私がテストしている現在の状態は機能しません。同じページにリンクされているため、フォームが送信されると、パラメータが自動的に追加または削除されます。

4

2 に答える 2

5

API は言う: Rails check_box_tag

check_box_tag(name, value = "1", checked = false, options = {}) public

したがって、これを 1 行で改善できます。

<%= check_box_tag 'catalog_image', 1, <CONDITION>, :onclick => 'this.form.submit()' %>
于 2014-09-01T19:10:54.793 に答える
4

:checked値ではなく、タグの存在が重要であるため、これに if を使用します

<% if params[:catalog_image] == 1 %>
   <%= check_box_tag 'catalog_image', 1, :onclick => 'this.form.submit()', :checked =>true %>
<% else %>
   <%= check_box_tag 'catalog_image', 1, :onclick => 'this.form.submit()'%>
<% end %>
于 2013-05-22T14:58:51.113 に答える