nil:NilClass的未定义方法`upvote_by'

时间:2019-12-19 13:32:37

标签: ruby-on-rails ruby

有同样的问题,但是答案对我的代码不利。错误仍然存​​在。 我重新安装了gem,尝试了不同的版本,并且我认为正确地在before_action中添加方法,问题仍然存在。

  <%= link_to "Like", like_article_path(article), class: 'like_url', method: :put %>

和html

{{1}}

单击时。

nil:NilClass的未定义方法`upvote_by'

1 个答案:

答案 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