【发布时间】:2019-01-26 12:04:55
【问题描述】:
我正在尝试将可邀请的设计添加到我的新应用程序中。我在互联网上找到了很多信息,但似乎没有解决方案。
所以我面临的问题如下:
当用户邀请某人时,会创建帐户,而 devise 生成的标准电子邮件模板显示“不会创建您的帐户...”
当用户点击激活链接时,他会重定向到编辑页面,但是当他们提交信息时,我的列 :fullname, :terms_of_service 没有保存。
可能我错过了什么。
这是我的邀请控制器
class InvitationsController < Devise::InvitationsController
def new
super
end
def create
User.invite!(invite_params, current_user)
redirect_to dashboard_path
end
def update
user = User.accept_invitation!(accept_invitation_params)
end
def edit
end
private
def invite_params
params.require(:user).permit(:email, :ivitation_token, :provider, :skip_invitation)
end
def accept_invitation_params
params.permit(:password, :password_confirmation, :invitation_token, :fullname, :terms_of_service)
end
end
我的控制台输出:
Processing by InvitationsController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"/PoYvD7be0xpE1yBGI2EsojBU62o8d+Kcx0B8LgZ7DJkrqz2lCGs1YrA8d5ziwOAVH68u+1ij7ZacecVmNfaUQ==", "user"=>{"invitation_token"=>"4a24a37282a3881a4d595f251ea4deca4d0c25cbb966d50d8d622941a55c1a4c", "fullname"=>"Arnas Klasauskas", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "terms_of_service"=>"1"}, "commit"=>"Einladen"}
Unpermitted parameters: :utf8, :_method, :authenticity_token, :user, :commit
No template found for InvitationsController#update, rendering head :no_content
我的应用程序控制器
before_action :configure_permitted_parameters, if: :devise_controller?
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:accept_invitation, keys: [:email, :fullname, :terms_of_service])
end
【问题讨论】:
-
发布您的视图文件
-
现在一切正常,谢谢。
-
好的,有什么不对的,分享给大家
-
有一点拼写错误,用 :invitation_token 修复 :ivitation_token。但是与您的问题无关
标签: ruby-on-rails devise devise-invitable