Ruby on rails 创建一个具有刺激反射的类似按钮 商务舱 类业务
我需要帮助设置likeReflex控制器。Ruby on rails 创建一个具有刺激反射的类似按钮 商务舱 类业务,ruby-on-rails,stimulusjs,stimulus-reflex,Ruby On Rails,Stimulusjs,Stimulus Reflex,我需要帮助设置likeReflex控制器。 我希望登录用户喜欢业务并将它们添加到他们的用户中。喜欢这就是我在StimulusReflex中实现类似按钮的方式 在视图模板中: <%= button_tag "Like", data: {reflex: "click->Posts#like, id: @post.id} %> 喜欢#创建”,sgid:@post.to_sgid_param} 然后你有一个反射类,比如: class LikesRefl
我希望登录用户喜欢业务并将它们添加到他们的用户中。喜欢这就是我在StimulusReflex中实现类似按钮的方式 在视图模板中:
<%= button_tag "Like", data: {reflex: "click->Posts#like, id: @post.id} %>
喜欢#创建”,sgid:@post.to_sgid_param}
然后你有一个反射类,比如:
class LikesReflex < ApplicationReflex
def create
likeable = GlobalID::Locator.locate_signed(element.dataset[:sgid])
likeable.likes.find_or_create_by(user: current_user)
end
end
class-LikesReflex
我已经用你的代码编辑了这个问题。也许这会有帮助。我想我需要修改反射动作。谢谢
class User < ApplicationRecord
has_many :likes
has_many :businesses
....
<%= button_tag "Like", data: {reflex: "click->Likes#like", id: @business.id} %>
class LikesReflex < ApplicationReflex
def like
business = Business.find(element.dataset[:id])
business.likes.find_or_create_by(user: current_user)
......
<%= button_tag "Like", data: {reflex: "click->Posts#like, id: @post.id} %>
class PostsReflex < ApplicationReflex
def like
post = Post.find(element.dataset[:id])
post.likes.find_or_create_by(user: current_user)
end
end
<%= button_tag "Like", data: {reflex: "click->Likes#create", sgid: @post.to_sgid_param }
class LikesReflex < ApplicationReflex
def create
likeable = GlobalID::Locator.locate_signed(element.dataset[:sgid])
likeable.likes.find_or_create_by(user: current_user)
end
end