获取邀请控制器中的当前用户

时间:2014-04-09 10:03:44

标签: devise ruby-on-rails-3.2

我在我的应用程序中使用devise_invitable gem。 如果用户已经在应用程序中签名并且他单击“接受邀请”链接,那么他将被重定向到设计after_sign_in_path_for。 我想改变它并给用户一些他在应用程序中签名的闪存,并且需要在继续之前注销。 单击Accept Invitation链接后,我的控件转到Users :: InvitationsController#edit。但是我无法在Invitations Controller中获取current_user。 我的路线和行动如下:

  devise_for :users, controllers: { registrations: "registrations", :invitations => 'users/invitations', sessions: "sessions", confirmations: "confirmations", passwords: "passwords" }

  def edit
    Rails.logger.debug current_user.inspect
    if current_user.present?
      Rails.logger.debug "---current user---"
    else
      render :edit
    end
  end

有人可以建议我如何在邀请控制器中获取当前用户。

1 个答案:

答案 0 :(得分:2)

这是InvitationsController中阻止分配current_user的行:

prepend_before_filter :require_no_authentication, :only => [:edit, :update, :destroy]

将此添加到您的控制器,将分配current_user:

skip_filter :require_no_authentication, :only => :edit