質問: ### 前提・実現したいこと Rails 4 練習で簡単なQ&Aサイトを作っていて、質問したユーザーが回答を「受付中」「解決済み」の項目を切り替えられるボタンのようなものを作りたいです。 ### 発生している問題・エラーメッセージ どのように作成したらいいのかが分かりません。 jsファイルを作成して作るのか、新しいモデルを中間テーブルで作成してアソシエーションして作るのか... どのような作成方針で作るのかが分からないので、このような場合どういう風にするのがベストなのか教えて頂きたいです。 よろしくお願いします。
回答: 私だったら、Questionモデルに is_solved カラムをbooleanでつけて、 質問者のみ解決済みにできるボタンを表示しますね。 (<% if @question.user_id == current_user %>で表示の可否を決める) ajaxの方が見栄えがいいと思いますが、まずは jsファイルを作らず実装して、それが終わって時間があれば ajaxにします。 ``` # questions_controller.rb def make_resolved @question == Question.find(params[:question_id]) if @question.update(is_solved: true) // end end ``` で、make_resolved.js.erb でビューをどうするか(どのテンプレート持ってくるかとか)調整するという感じにします 参考 https://www.prime-architect.co.jp/myblog/ruby-on-rails-1559