Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.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 Rails:检查用户是否从其他控制器登录_Ruby On Rails_Ruby_Web Applications - Fatal编程技术网

Ruby on rails Rails:检查用户是否从其他控制器登录

Ruby on rails Rails:检查用户是否从其他控制器登录,ruby-on-rails,ruby,web-applications,Ruby On Rails,Ruby,Web Applications,这是我的第一个rails项目。我有一个既有“订户”又有“用户”控制器和模块的web应用程序。 (订阅者仅发送电子邮件,用户已登录) 我试图让用户访问订阅者列表,方法是在订阅者控制器中创建一个“索引”方法,只有登录的用户才能访问 我正试着用这个 class SubscribersController < ApplicationController before_filter :signed_in_user, only: [:index] def index @subscribers = Su

这是我的第一个rails项目。我有一个既有“订户”又有“用户”控制器和模块的web应用程序。 (订阅者仅发送电子邮件,用户已登录)

我试图让用户访问订阅者列表,方法是在订阅者控制器中创建一个“索引”方法,只有登录的用户才能访问

我正试着用这个

class SubscribersController < ApplicationController
before_filter :signed_in_user, only: [:index]
def index
@subscribers = Subscriber.all
end
但它不起作用,因为我无法从订阅者控制器访问已签名的用户。 这样做的“正确”方式是什么


谢谢

在UsersController中包含SessionHelper,以便可以访问该函数

class UsersController < ApplicationController
include SessionsHelper
.......
end
class UsersController

像signed_in这样的函数?在许多控制器中通常需要它们,最好在应用程序控制器本身中包含helper。

作为对方向的说明,而不是有两个模型(以及相应的表),为什么不在用户模型中定义一个作用域:
作用域:subscribers,其中(:password=>nil)
def current_user=(user)
  @current_user = user
end

def current_user
  @current_user ||= User.find_by_remember_token(cookies[:remember_token])
end

def signed_in?
  !current_user.nil?
end
class UsersController < ApplicationController
include SessionsHelper
.......
end