我在我的应用程序中使用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
有人可以建议我如何在邀请控制器中获取当前用户。
答案 0 :(得分:2)
这是InvitationsController中阻止分配current_user的行:
prepend_before_filter :require_no_authentication, :only => [:edit, :update, :destroy]
将此添加到您的控制器,将分配current_user:
skip_filter :require_no_authentication, :only => :edit