[解決済み] Rails: form_for checkbox でチェックボックスがチェックされているかどうかを true または false に設定する
2022-02-17 20:02:54
質問
usersというモデルがあり、2つのブール型属性を持っています。
send_email
と
send_text
. User モデルを編集するフォームがあり、ボックスがチェックされているかチェックされていないかによって、これらの属性を true/false に設定したいのです。以下は私のフォームです。
<%= form_for(@user) do |f| %>
<div class="field">
<%= f.label :email %> <br />
<%= f.text_area :email %> <br />
</div>
<div class="field">
<%= f.label :cell %> <br />
<%= f.text_area :cell %> <br />
</div>
<div class="field">
<%= f.label "Get Email" %> <br />
<%= f.check_box :send_email, {}, true, false %> <br />
</div>
<div class="field">
<%= f.label "Get Text" %> <br />
<%= f.check_box :send_text, {}, true, false %> <br />
</div>
<div class="actions">
<%= f.submit "Submit", class: "button small radius" %>
<%= link_to "go back", @user, class: "button small radius secondary" %>
</div>
<% end %>
そして、こちらは
update
アクションの
user_controller
def update
@user = User.find(params[:id])
@user.update_attributes(params[:user])
redirect_to @user
end
フォームとアップデートは完璧に動作しているように見えますが、send_email または send_text ボックスにチェックを入れてこのフォームを送信すると、ユーザーモデルの属性 (send_email,send_text) が false に変更されません。
どうすればいいですか?
フォームがオブジェクトに対して動作している場合、Railsはこの処理を行います。このようにタグから余分なものをすべて取り除きます。
<div class="field">
<%= f.label "Get Email" %> <br />
<%= f.check_box :send_email %> <br />
</div>
そして、あなたが期待するようにすべてが動き始めるはずです。チェックボックスは属性が true の場合にチェックされ、逆にフォームを送信したときにチェックされた状態が属性に影響します。残りのコードも問題ありません。
関連
-
[解決済み】JQuery: 'Uncaught TypeError: ajaxリクエストで「Illegal invocation」が発生する - 複数の要素
-
[解決済み】ローカルの実行ファイルへのハイパーリンクを作成する方法は?
-
[解決済み] 必要なキーに一致するルートがありません。[:id]
-
[解決済み] HTML5 Canvas 要素でカスタムフォントを使用するにはどうすればよいですか?
-
[解決済み] What is the difference between <p> and <div>?
-
[解決済み] Favicon.icoを表示させることができません。
-
[解決済み] head」タグと「header」タグの本当の違いは何ですか?[重複】について]
-
[解決済み] JavaScriptを使用して、セレクトボックス要素の値をプログラムで設定するにはどうすればよいですか?
-
[解決済み] HTMLのチェックボックスのchecked属性の適切な値は何ですか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】iframeを水平方向にセンタリングする方法は?
-
[解決済み】html文書に縦の空白を挿入するには?
-
[解決済み】divの高さを画面の残りスペースで埋めるようにする
-
[解決済み] IFrameからボーダーを取り除く
-
[解決済み] 必要なキーに一致するルートがありません。[:id]
-
[解決済み] WebForms UnobtrusiveValidationMode には、'jquery' の ScriptResourceMapping が必要です。jquery という名前の ScriptResourceMapping を追加してください(大文字と小文字を区別します)。
-
[解決済み] ionic 4でion-buttonをセンタリングする方法は?[重複しています]
-
[解決済み] フォームの中にフォームがある、でいいのかな?[重複]
-
[解決済み] 入力のラジオ要素を水平に揃えるにはどうしたらいいですか?
-
[解決済み] HTMLのバックスペース