railsのタグでよく迷うのが、
check_box と check_box_tag というような タグ名に"_tag" ありかどうか。
今回ハマったことは、
check_box_tag タグを用いた際に、チェックボックスにチェックが入ってないと
パラメータとして送信されないので、paramsの中に含まれなず、
コントローラ側の受け取りでparamsにあるかどうかチェックしたりしなくてはならないこと。
でも、check_box タグを使うとラクにできます。
こんなふうにかくと、単一の送信チェックボックスを作った場合。
<%= check_box("post","send",{:checked=>@xxx == "1"})%>
こんなふうに解釈されるのです。
チェックなし <input id="post_send" name="post[send]" type="checkbox" value="1" /> <input name="post[send]" type="hidden" value="0" /> チェックあり <input id="post_send" name="post[send]" type="checkbox" value="1" checked="checked" /> <input name="post[send]" type="hidden" value="0" />
もし、check_box_tag タグを使う場合は、hidden_field_tag タグと併用すると良いそうです。
参考: http://d.hatena.ne.jp/bottleneck/20070927/1190872024
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。