所以,我尝试搜索(很多:()并且找不到任何帮助。
我觉得这是我以前做过的事情,但我似乎无法弄明白。
我已经安装了一个gem(推荐,yay!),它允许我访问一堆方法(?):
user.like(电影) =>真
在视图中,我尝试将<%= link_to“改为”,@ user.like(@movie)%> ...但是,这似乎实际上只是运行@ user.like(@movie)on页面加载...自动设置该用户喜欢该电影。
我错过了什么? :\
提前多多谢谢!
答案 0 :(得分:0)
你想为这样的东西设一个LikesController我猜。然后您可以远程链接到创建操作,在此创建操作中,您可以实际执行以下操作:
class LikesController < ApplicationController
def create
# assuming you have some method to get you the current_user
# and assuming you just want to like movies
movie = Movie.find_by_id(params[:id])
current_user.like(movie) if movie
# maybe check for success and return some meaningfull message
end
end
然后在视图中你可以做到:
<%= link_to "Like", likes_path(@movie), remote: true %>
这应该触发之类的。
不要忘记在LikesController的routes.rb中创建路由。
您应该始终牢记,对于用户应该能够采取的操作,您需要在控制器中执行操作。视图始终只是向用户显示给定状态,并提供采取操作的选项。