Rails充当Votable检查以查看用户是否登录以进行投票

你好

登出时出现错误:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

检查用户是否对某项投票进行了投票

解析,检查以查看用户是否已登录

检查用户是否对范围进行了投票

我将使用哪种途径来检查Rails JSON API以查看用户是否已登录?

检查用户是否对帖子投票

检查用户是否投票,如果没有保存投票

显示在acts_as_votable上投票的用户

Acts_As_Votable无法对其他用户的帖子进行投票

如何检查用户是否在24小时滑轨之前进行了投票4

在Rails中执行任何操作之前检查用户是否登录

如何检查用户是否使用Rails dev登录?

Rails-Devise:检查用户是否可以登录

如何检查用户是否登录

使用Google登录进行身份验证之前,请检查用户是否已登录-Flutter

Flask 用户登录 - 检查用户是否存在

检查用户是否查看了对象

Laravel 5-在以关联关系返回资源的所有投票时检查用户是否已“投票”

Rails 投票应用程序检查选项的投票计数是否已达到值

选择消息,计算平均投票数,并知道用户是否已对其进行投票

如何检查用户是否已登录,使用Firebase进行本机响应?

检查用户登录的页面是否在Angular 2中进行了更改

检查用户是否已登录-使用Codeigniter HMVC进行离子验证

Steamworks检查用户是否已登录

Django Firebase 检查用户是否登录

Laravel 5检查用户是否登录

SharedPreferences并检查用户是否已登录

检查用户是否在IOS中登录

Firebase:如何检查用户是否已登录?

如何检查用户是否已经登录?