【Rails5】ajaxでcheck_boxのboolean値を切り替える

rails boolean ajax

チェックボックスのboolean値をajaxリクエストでデータベース更新を手軽にするやり方です。

準備

Gemfile

bundle install します

assets/javascripts/application.js

サンプルとしてscaffoldでユーザーを作ります。

Boolean型のカラムにデフォルト値と、null: falseを追加します。

db/migrate/20xxxxx_create_users.rb

$ rails db:migrate を実行します。

Routes

post送信するためのルートを追加します

config/routes.rb

Controllers

特にrenderの記述はしなくても勝手にやってくれます。後からカラムを追加した方はprivateをストロングパラメータに追加することを忘れないように

app/controllers/users_controller.rb

Views

app/views/users/show.html.erb

remote: trueを指定します。これでajaxリクエストになりますね。

アクションと同名のjs.erbファイルをレンダーしてくれます。

app/views/users/user_private.js.erb

分かりやすくするためにクラスをつけています。

app/views/users/private_boolean.html.erb

app/assets/stylesheets/users.scss

以上です。間違っていたら教えていただけるとありがたいです。


投稿者:

Shuji Tenra

「仕事に特化したQ&AサイトJobQuery【ジョブクエリ】」の開発/運営をしています。https://jobquery.jp