2016-02-04 3 views
2

У меня возникают проблемы с обратными вызовами в devise_invitable - в частности, они, похоже, не определены.Devise invitable callback: неопределенный метод `before_invitation_created '

Если я пытаюсь добавить:

before_invitation_created :set_pending_invite 

моей модели пользователя, я получаю следующую ошибку

неопределенный метод `before_invitation_created»

Есть ли трюк, чтобы получить обратные вызовы, чтобы быть признал? Нужно ли мне что-то добавлять к моему контроллеру?

У меня есть: invitable в моей модели:

class User < ActiveRecord::Base 
has_many :pending_sites 
rolify :role_cname => 'Group' 

devise :invitable, :database_authenticatable, :zxcvbnable, 
:recoverable, :rememberable, :trackable, :validatable, :confirmable, :omniauthable, :omniauth_providers => [:saml] 

before_invitation_created :set_pending_invite 
after_initialize :set_default_role, :if => :new_record? 
+0

кроме этого обратного вызова работает другая изобретательная функциональность? –

+0

После добавления вы перезагрузили сервер, и если вы пытаетесь подключиться к консоли rails, перезапустите консоль rails. –

+1

На самом деле сервер не перезапустится из-за этой ошибки - если я попытаюсь перезапустить, я получаю:/Library/Ruby/Gems/2.0.0/gems/activerecord-4.2.5/lib/active_record/dynamic_matchers.rb: 26: in 'method_missing ': undefined method' before_invitation_created' для # <Класс: 0x007fad38a991c8> (NoMethodError) –

ответ

2

У меня тот же вопрос. Я просмотрел его, и главная ветвь определяет эти обратные вызовы, но они еще не выпущены. На момент написания этой статьи последняя версия была 1.5.5 с 17 декабря 2015 года, а фиксация с новыми обратными вызовами не была произведена до 29 декабря 2015 года (https://github.com/scambra/devise_invitable/commit/3834b65bf1b979a4e9c8c1ac9769ea881e350c80)

Кроме того, если вы хотите использовать новейшие, вы можете поместить это в свой Gemfile:

gem 'devise_invitable', :git => '[email protected]:scambra/devise_invitable.git' 
Смежные вопросы