Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.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 Can';不要让skip_before_过滤器与Rails中的ActiveAdmin一起工作_Ruby On Rails_Devise_Activeadmin_Before Filter - Fatal编程技术网

Ruby on rails Can';不要让skip_before_过滤器与Rails中的ActiveAdmin一起工作

Ruby on rails Can';不要让skip_before_过滤器与Rails中的ActiveAdmin一起工作,ruby-on-rails,devise,activeadmin,before-filter,Ruby On Rails,Devise,Activeadmin,Before Filter,我正在使用Desive gem进行身份验证,并且在我的应用程序控制器中具有以下before_筛选器: before_filter :require_login def require_login unless user_signed_in? || params[:controller] == 'devise/sessions' flash[:error] = "You must be logged in to access that page." red

我正在使用Desive gem进行身份验证,并且在我的应用程序控制器中具有以下before_筛选器:

  before_filter :require_login

  def require_login
    unless user_signed_in? || params[:controller] == 'devise/sessions'
      flash[:error] = "You must be logged in to access that page."
      redirect_to new_user_session_path
    end
  end
我最近实现了ActiveAdmin gem,并试图让skip_before_过滤器为ActiveAdmin工作,这样我就可以访问ActiveAdmin。我尝试了本文中概述的方法,在config/initializers/active_admin.rb中添加了以下内容:

  config.skip_before_filter :require_login
并将以下内容添加到我的一个管理模型文件listing.rb中:

ActiveAdmin.register Listing do

  controller do
    skip_before_filter :require_login
  end

end
但即使在重新启动服务器和浏览器后,它似乎也不起作用

我做错了什么?

有两件事:

第一:我认为你使用Desive的效率很低。您应该:

class ApplicationController 
  before_filter :authenticate_user!
end
就这样,其他一切都正常

第二:activeadmin使用不同的用户类——“Admin_user”(而不是“user”)。默认情况下,您将使用以下凭据:

email: admin@example.com 
password: password
所以有两件事:

第一:我认为你使用Desive的效率很低。您应该:

class ApplicationController 
  before_filter :authenticate_user!
end
就这样,其他一切都正常

第二:activeadmin使用不同的用户类——“Admin_user”(而不是“user”)。默认情况下,您将使用以下凭据:

email: admin@example.com 
password: password

使用设计验证用户!方法解决了我的问题。谢谢使用设计验证用户!方法解决了我的问题。谢谢