我为用户制作了一个简单的投票系统
votes_controller:
def create
@user = User.find(params[:id])
@vote = Vote.create(author_uid: current_user.uid)
@user.votes << @vote
redirect_to root_url
end
查看文件:
- @users.each do |user|
%tr
%td= user.id
%td= link_to user.username, user.url
%td
= link_to 'Like', {:controller => "votes", :action => "create" }, :method => "post"
但是,如果我投票给用户,则会出现错误“无法找到没有ID的用户”
希望您能帮助解决这个问题。如果您需要更多信息,请发表评论。
谢谢!
答案 0 :(得分:2)
您没有在id
方法中传递link_to
参数。
这就是当您尝试在服务器上查找时params[:id]
不存在的原因
答案 1 :(得分:1)
更改
link_to 'Like', {:controller => "votes", :action => "create" }, :method => "post"
到
link_to 'Like', {:controller => "votes", :action => "create", :id => user.id }, :method => "post"
此外,在创建投票对象后,您不会保存用户对象。