Ruby on rails 行动前设计:身份验证异常
我正在运行设计。我希望所有东西都能强制登录,除了特定的路线。在我的应用程序中,我保存了一个长url,并使用一个短url指向我的应用程序,以获取长url进行重定向。未登录的外部用户需要能够跟随该短url返回,并获取用于外部重定向的长url。例如localhost.com/WdeFrs从数据库中提取长链接并重定向到站点……例如google.com。一切正常,但当你跟随链接返回时,它会强制登录它需要在不登录的情况下工作是否有人可以帮助澄清修复。多谢各位 应用程序\u controller.rb routes.rbRuby on rails 行动前设计:身份验证异常,ruby-on-rails,devise,Ruby On Rails,Devise,我正在运行设计。我希望所有东西都能强制登录,除了特定的路线。在我的应用程序中,我保存了一个长url,并使用一个短url指向我的应用程序,以获取长url进行重定向。未登录的外部用户需要能够跟随该短url返回,并获取用于外部重定向的长url。例如localhost.com/WdeFrs从数据库中提取长链接并重定向到站点……例如google.com。一切正常,但当你跟随链接返回时,它会强制登录它需要在不登录的情况下工作是否有人可以帮助澄清修复。多谢各位 应用程序\u controller.rb rou
操作之前的
选项except
需要操作名称,而不是控制器名称。按原样,您的代码将跳过任何名为URL
的操作的身份验证
要跳过url#shortcustom
和url#shorted
的身份验证,您需要包括
skip_before_action :authenticate_user!, :only => [:shortcustom, :shortened]
在您的UrlsController
中,您不希望登录用户使用哪种方法?获取“/:short\u url”到:“url\35; shortcustom”我想这就是我试图破例的原因。尝试此“在筛选之前跳过”:验证用户!,:only=>:shortcustom`在您的URL控制器中。您尝试过我的解决方案吗?我尝试过了,我得到了错误:在跳过\u回调中:在处理之前\u操作回调:验证\u用户!尚未定义(ArgumentError)我正在寻找此错误的修复方法。:)@正如错误所说,没有authenticate\u用户代码>在控制器范围内定义。您确定它是在ApplicationController
中定义的,并且UrlsController
继承了它吗?是的,谢谢您,我没有在\u操作:验证\u用户之前使用过它!在我的应用程序中\u控制器!谢谢你的帮助!
resources :urls
get "/:short_url", to: "urls#shortcustom"
get "shortened/:short_url", to: "urls#shortened", as: :shortened
skip_before_action :authenticate_user!, :only => [:shortcustom, :shortened]