如果某个用户有属性我需要什么,这不需要确认。 我已经看过几篇关于此的帖子,但我无法理解(我在Rails中有点新手)。
在我的user.rb
中 def confirmation_required?
if self.name == 'Joe'
false
end
end
我尝试了但没有任何反应,总是假的。我在这段代码中看到了另一篇文章:
def confirmation_required?
!confirmed?
end
#Put your conditions and job's done !
但如何从user.rb(model)访问用户数据请注意,该用户来自HTTP Post请求。
有人能帮助我吗?
由于
修改
我也可以重新编写Devise :: RegistrationsController,如下所示:
class RegistrationsController < Devise::RegistrationsController
def create
super do
if resource.name == 'Joe'
resource.skip_confirmation!
resource.save
end
end
end
end
你认为这可以解决它吗? 感谢。
答案 0 :(得分:1)
在您的用户模型中,您可以有条件地拨打skip_confirmation!
回拨中的before_save
class User < ActiveRecord::Base
before_save :skip_confirm # arbitrary method name
def skip_confirm
if self.name == 'Joe'
skip_confirmation!
end
end
end
或者,您可以在before_save
class User < ActiveRecord::Base
before_save -> do
if self.name == 'Joe'
skip_confirmation!
end
end
end