Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 如何为不同的用例定制设计Invitable_Ruby On Rails 4_Devise_Devise Invitable - Fatal编程技术网

Ruby on rails 4 如何为不同的用例定制设计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

我正在尝试按照Desive Invitable的文档为不同的用户类型发送不同的电子邮件,在我的案例中是合作伙伴客户

所以它说要添加你的设计模型,在我的例子中是
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那样调用它
并在方法中传递参数

这同样适用于
邀请合作伙伴