Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 用户最多可以进入一个房间_Ruby On Rails - Fatal编程技术网

Ruby on rails 用户最多可以进入一个房间

Ruby on rails 用户最多可以进入一个房间,ruby-on-rails,Ruby On Rails,我在聊天。我希望用户不要同时进入超过2个房间 所以我做了“进入”模型。这属于用户和房间。用户有一个入口,房间有多个入口 在ApplicationController中,存在当前用户 我试图通过下面的方法检查用户是否有enter def free? return unless session[:user_id] if current_user.enter.room.count == 1 then return true else return false end e

我在聊天。我希望用户不要同时进入超过2个房间

所以我做了“进入”模型。这属于用户和房间。用户有一个入口,房间有多个入口

在ApplicationController中,存在当前用户

我试图通过下面的方法检查用户是否有enter

def free?
  return unless session[:user_id]
  if current_user.enter.room.count == 1 then
    return true
  else
    return false
  end
end
这也在ApplicationController中

接下来,我在views/top/index.html中写下,只为登录的自由用户显示“加入这个房间”按钮

当我运行这个时,我有以下错误

的NoMethodError at/undefined方法“free”


我一个人解决不了这个问题。。。我该怎么办

你可以创建免费的吗?用户对象上的方法

class User
    def free?
      enter.room.count == 1
    end
end
之后在视图中调用此,current_user.free

但若您将此用户和文件室的组合用于检查enter对象是否存在,则效果会更好

class User
    def free?
      enter.room.count == 1
    end
end