【发布时间】:2014-12-25 07:19:18
【问题描述】:
我正在使用acts_as_votable 插件,但我不断收到此错误:
No route matches {:action=>"upvote", :controller=>"posts", :id=>nil} missing required keys: [:id]
我正在关注这个 SO 问题的答案:acts_as_votable thumbs up/down buttons
我尝试按照此处的建议将 .id 添加到视图中:Getting a strange error on my routes, "missing required keys" rails 4 但随后出现此错误:
undefined method `id' for nil:NilClass
这是我的代码:
post_controller:
def upvote
@post = Post.find(params[:id])
@post.liked_by current_user
redirect_to @post
end
路线:
resources :posts do
member do
get 'like' => 'posts#upvote', as: :upvote
end
end
查看:
<% @posts.each do |post| %>
<%= post.user.name %><BR><BR>
<%= post.post_content %><BR><BR>
<%= link_to "like", upvote_post_path(@post), method: :put %>
<% end %>
【问题讨论】:
标签: ruby-on-rails ruby