我有一个使用Devise来验证操作的控制器。我喜欢在除一个操作之外的每个操作上使用401响应的默认行为。我想继续提出请求,但提供不同的回复机构。
我可以提供或覆盖哪种方法来实现这一目标?
答案 0 :(得分:1)
首先,您需要在要执行此操作的页面上跳过标准身份验证。
before_filter :authenticate_user!, except: [:mydifferentcontroller]
然后您需要为控制器添加一些逻辑,以引导您进行备用响应
def mydifferentcontroller
unless user_signed_in?
## add redirect_to if you want to send them to an entirely different page or whatever change in logic can go in here
end
end
或者,如果您只想更改页面的某个部分,可以使用user_signed_in?在视图中也是如此
- if user_signed_in?
.classyclass You're signed in
- else
.classyclass You're not signed in
如果这就是你的意思......