Ruby on rails 4 如何为不同的用例定制设计Invitable
我正在尝试按照Desive Invitable的文档为不同的用户类型发送不同的电子邮件,在我的案例中是合作伙伴和客户 所以它说要添加你的设计模型,在我的例子中是Ruby on rails 4 如何为不同的用例定制设计Invitable,ruby-on-rails-4,devise,devise-invitable,Ruby On Rails 4,Devise,Devise Invitable,我正在尝试按照Desive Invitable的文档为不同的用户类型发送不同的电子邮件,在我的案例中是合作伙伴和客户 所以它说要添加你的设计模型,在我的例子中是User.rb,下面的代码 .... attr_accessor :invitation_instructions .... def self.invite_partner!(attributes={}, invited_by=nil) self.invite!(attributes, invited_by) do
User.rb
,下面的代码
....
attr_accessor :invitation_instructions
....
def self.invite_partner!(attributes={}, invited_by=nil)
self.invite!(attributes, invited_by) do |invitable|
invitable.invitation_instructions = :partner_invitation_instructions
end
end
def self.invite_client!(attributes={}, invited_by=nil)
self.invite!(attributes, invited_by) do |invitable|
invitable.invitation_instructions = :client_invitation_instructions
end
end
然后从我的控制器,当一个新用户注册时,我正在呼叫
....
if current_user.is_client?
user.invite_client!(user, current_user)
else
user.invite_partner!(user, current_user)
end
当我这样做的时候,我得到的错误是
undefined method 'invite_client!' for #<User:0x007ffbcdfabd08>
未定义的方法“invite\u client!”为了#
这有点让人困惑,因为方法是在用户模型中定义的,所以我认为,至少它是定义的
如果您能帮助修复此问题并使此设置正常工作,我们将不胜感激 我认为这些都是类方法,你应该像
User.invite\u client那样调用它
并在方法中传递参数
这同样适用于邀请合作伙伴代码>