Я создаю своего рода клон Facebook, и одним из требований проекта является возможность "лайкать" сообщения.
Мне нравится, (я также использую devise fwiw для аутентификации пользователя). Но когда я пытаюсь прошить, что пользователю уже понравился пост (так как вы не можете понравиться более одного раза), ничего не происходит.
Код моего контроллера:
def like
post = Post.find(params[:post_id])
puts post
like = post.likes.new(user_id: current_user.id)
if like.save
#nothing for now
else
flash.now[:alert] = "You have already liked that post"
end
end
Работает, находясь на «домашней странице» пользователей, просматривая все их сообщения и имея опцию «Мне нравится» на каждом из них. (Лайк работает, но решил, что стоит отметить).
Если я просто сделаю flash
, это будет работать, если я обновлю страницу, но сейчас ничего не происходит.
Ссылка «Мне нравится» выглядит следующим образом:
<% @posts.each do |post| %>
<p>
<%= post.content %>
</p>
<%= link_to "Like", like_path(@user, post_id: post), remote: true, method: :post %>
<% end %>