有同样的问题,但是答案对我的代码不利。错误仍然存在。 我重新安装了gem,尝试了不同的版本,并且我认为正确地在before_action中添加方法,问题仍然存在。
<%= link_to "Like", like_article_path(article), class: 'like_url', method: :put %>
和html
{{1}}
单击时。
nil:NilClass的未定义方法`upvote_by'
答案 0 :(得分:3)
您需要先找到您的Article
:
def like
@article = Article.find(params[:id])
# ...
end
def unlike
@article = Article.find(params[:id])
# ...
end
您还可以将发现的文章提取到before_action
before_action :find_article, only: %i[like unlike] # whatever you please
# ...
private
def find_article
@article = Article.find(params[:id])
end