[英]rails devise authentication with ruby lambda
我正在使用devise的rails。 我該如何更改它,而不是檢查給定的電子郵件地址?
這是有效的原始代碼
authenticate :user, lambda { |u| u.admin? } do
mount Sidekiq::Web => '/sidekiq'
end
我嘗試了此操作,但它undefined method "call" for #<Hash:0x007ffc34e9eca0>
錯誤引發了undefined method "call" for #<Hash:0x007ffc34e9eca0>
:
authenticate :user, if: lambda { |u| u.email == "xyz@gmail.com" } do
mount Sidekiq::Web => '/sidekiq'
end
authenticate :user, if: lambda { |u| u.email == "xyz@gmail.com" }
這將創建一個哈希,看起來像:
{ :if => lambda { |u| u.email ... } }
您不需要if:
在那里。 這應該工作:
authenticate :user, lambda { |u| u.email == "xyz@gmail.com" } do
mount Sidekiq::Web => '/sidekiq'
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.