登出时出现错误:
undefined method `voted_for?' for nil:NilClass
这是我的看法:
- unless (current_user.voted_for? @project) && (@project.liked_by current_user)
= link_to like_project_path(@project), method: :put, class: "btn btn-default" do
%span.glyphicon.glyphicon-heart
= pluralize(@project.get_likes.size, 'like')
- else
= link_to unvote_project_path(@project), method: :put, class: "btn btn-default" do
%span.glyphicon.glyphicon-heart
= pluralize(@project.get_likes.size, 'like')
如果我删除current_user.voted_for? @project
并只是@project.liked_by current_user
出于某种原因离开,那么刷新页面后,它会自动喜欢该项目。即使清除我的数据库,当我进入该项目时,它也会为它添加一个类似的内容。
因此,当我尝试注销时,会收到该错误,但是当我登录时,没有任何错误,并且似乎可以正常运行。
current_user
未在您的视图中定义,而是在控制器中定义。您应该将所有逻辑都放在控制器中
在您的控制器中:
@instance_variable = (current_user.voted_for? @project) && (@project.liked_by current_user)
然后在您看来:
unless @instance_variable
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句