Ruby on rails 宝石坎坎坎设计

Ruby on rails 宝石坎坎坎设计,ruby-on-rails,devise,cancancan,Ruby On Rails,Devise,Cancancan,我在项目中使用gemsdesigne、cancancan和rails\u admin。我补充说: before_action: authenticate_user! 在应用程序\u控制器中,按照设计的建议 只要涉及到站点的管理部分,它就可以工作。站点的根页面不需要身份验证,但实际上需要登录才能进入。我想这是因为将回调放在application\u controller.rb中 我想知道如何限制和要求只在站点的某些页面上登录,而不在用户无需登录即可访问的页面上登录,例如根页面。Applicati

我在项目中使用gems
designe
cancancan
rails\u admin
。我补充说:

before_action: authenticate_user!
应用程序\u控制器
中,按照
设计
的建议

只要涉及到站点的管理部分,它就可以工作。站点的根页面不需要身份验证,但实际上需要登录才能进入。我想这是因为将回调放在
application\u controller.rb


我想知道如何限制和要求只在站点的某些页面上登录,而不在用户无需登录即可访问的页面上登录,例如根页面。

ApplicationController
是所有控制器的祖先。如果您在此控制器中放置回调,则会从应用程序上的任何控制器调用该回调。要仅从某些控制器执行回调,请移动回调:

before_action: authenticate_user!

ApplicationController
,将其放置在需要验证的控制器的类主体中。

哇,我以前没有想到过这一点。我来测试一下。谢谢你的帮助,很抱歉我的英语不好!(谷歌翻译)