Acts_As_Votable 无法对其他用户的帖子投票
Acts_As_Votable can't vote on other user's posts
我正在使用 acts_as_votable
gem,我遇到了投票问题。
我有两个模型 - User 和 Post。用户可以对 post.
进行投票
我遇到的问题是用户目前只能为自己的 post 投票,而不能为其他用户的 post 投票。
我认为这是因为我已经完成了 @posts.each
然后用户只能为他们自己的 post 访问,所以他们只能为他们自己的 post 投票.或者问题出在我控制器中的索引方法中。
Index.html.erb 文件:
<% @posts.each do |post| %>
<div class="user-input">
<% if post.user.voted_up_on? post %>
<%= link_to unlike_post_path(post), method: :put do %>
<%= image_tag("/assets/like.png") %>
<% end %>
<% else %>
<%= link_to like_post_path(post), method: :put do %>
<%= image_tag("/assets/heart.png") %>
<% end %>
<% end %>
</div>
<% end %>
Posts_controller(相关方法):
def index
@posts = Post.includes(:user).order("created_at DESC") #Possible issue is here??
end
def like
@post.upvote_by current_user
redirect_to :back
end
def unlike
@post.unvote_by current_user
redirect_to :back
end
路线:
resources :posts do
member do
put "like", to: "posts#like"
put 'unlike', to: 'posts#unlike'
end
end
如果有人能帮助我理解为什么用户只能为自己 post 投票,那就太好了。
知道了。
不得不更换
<% if post.user.voted_up_on? post %>
与:
<% if current_user.liked? post %>
我认为它是在询问 post 的创建者是否对 post 进行了投票,而我只需要当前用户查看他们是否对 post 进行了投票.
我正在使用 acts_as_votable
gem,我遇到了投票问题。
我有两个模型 - User 和 Post。用户可以对 post.
进行投票我遇到的问题是用户目前只能为自己的 post 投票,而不能为其他用户的 post 投票。
我认为这是因为我已经完成了 @posts.each
然后用户只能为他们自己的 post 访问,所以他们只能为他们自己的 post 投票.或者问题出在我控制器中的索引方法中。
Index.html.erb 文件:
<% @posts.each do |post| %>
<div class="user-input">
<% if post.user.voted_up_on? post %>
<%= link_to unlike_post_path(post), method: :put do %>
<%= image_tag("/assets/like.png") %>
<% end %>
<% else %>
<%= link_to like_post_path(post), method: :put do %>
<%= image_tag("/assets/heart.png") %>
<% end %>
<% end %>
</div>
<% end %>
Posts_controller(相关方法):
def index
@posts = Post.includes(:user).order("created_at DESC") #Possible issue is here??
end
def like
@post.upvote_by current_user
redirect_to :back
end
def unlike
@post.unvote_by current_user
redirect_to :back
end
路线:
resources :posts do
member do
put "like", to: "posts#like"
put 'unlike', to: 'posts#unlike'
end
end
如果有人能帮助我理解为什么用户只能为自己 post 投票,那就太好了。
知道了。
不得不更换
<% if post.user.voted_up_on? post %>
与:
<% if current_user.liked? post %>
我认为它是在询问 post 的创建者是否对 post 进行了投票,而我只需要当前用户查看他们是否对 post 进行了投票.