Closed masaya7 closed 1 year ago
rails 7.0.6 ruby 3.2.2
empathyボタンという「どの投稿でも共通して同じ絵文字セット(😀😭😍😤)からリアクションを選べる」ボタンを作成しています。そのempathyボタンを押下すると、empathiseテーブルのempathy カラムにenumで設定した値が登録できるようにしたい。
enum
enumとボタン設置 ボタンを押下すると絵文字セット、数字が一緒に動くところまでは作成できた。
class Empathy < ApplicationRecord belongs_to :user belongs_to :post validates :user_id, uniqueness: { scope: :post_id } enum empathy: {default: 0, 😀: 1, 😢: 2, 😍: 3, 😤: 4 } end
<table> <tr> <td> <% if post.empathize_by?(current_user) %> <%= button_to post_empathy_path(post.id), method: :delete do%> 😀<%= post.empathies.count %> <% end %> <% else %> <%= button_to post_empathy_path(post.id), method: :post do %> 😀<%= post.empathies.count %> <% end %> <% end %> </td> <td> <% if post.empathize_by?(current_user) %> <%= button_to post_empathy_path(post.id), method: :delete do%> 😢<%= post.empathies.count %> <% end %> <% else %> <%= button_to post_empathy_path(post.id), method: :post do %> 😢<%= post.empathies.count %> <% end %> <% end %> </td> <td> <% if post.empathize_by?(current_user) %> <%= button_to post_empathy_path(post.id), method: :delete do%> 😍<%= post.empathies.count %> <% end %> <% else %> <%= button_to post_empathy_path(post.id), method: :post do %> 😍<%= post.empathies.count %> <% end %> <% end %> </td> <td> <% if post.empathize_by?(current_user) %> <%= button_to post_empathy_path(post.id), method: :delete do%> 😤<%= post.empathies.count %> <% end %> <% else %> <%= button_to post_empathy_path(post.id), method: :post do %> 😤<%= post.empathies.count %> <% end %> <% end %> </td> </tr> </table>
class EmpathiesController < ApplicationController def create post = Post.find(params[:post_id]) empathy = current_user.empathies.new(post_id: post.id) empathy.save redirect_to request.referer end def destroy post= Post.find(params[:post_id]) empathy = current_user.empathies.find_by(post_id: post.id) empathy.destroy redirect_to request.referer end end
環境
rails 7.0.6 ruby 3.2.2
質問内容・実現したいこと
empathyボタンという「どの投稿でも共通して同じ絵文字セット(😀😭😍😤)からリアクションを選べる」ボタンを作成しています。そのempathyボタンを押下すると、empathiseテーブルのempathy カラムに
enum
で設定した値が登録できるようにしたい。現状発生している問題・試したこと
enumとボタン設置 ボタンを押下すると絵文字セット、数字が一緒に動くところまでは作成できた。
該当コード
empathy.rb
_btn.html.erb
empathies_controller