首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Devise_invitable app/views/devise/invitation.html.erb“注册”字段RoR

Devise_invitable app/views/devise/invitation.html.erb“注册”字段RoR
EN

Stack Overflow用户
提问于 2016-08-01 18:03:57
回答 1查看 209关注 0票数 0

我敢肯定有人做过这件事。我开始了它,但我使我的应用程序崩溃了几次,所以我想我只是要求那里,而不是继续驾驶我的网络应用程序被遗忘。我用的是devise_invitable宝石。它向被邀请的用户发送一个链接,他们单击该链接,然后指向以下视图@app/ view /devise/invitation.hml.erb:

代码语言:javascript
复制
<h2><%= t 'devise.invitations.edit.header' %></h2>

<%= simple_form_for resource, as: resource_name, url: invitation_path(resource_name), html: { method: :put } do |f| %>
<%= devise_error_messages! %>
<%= f.hidden_field :invitation_token %>

<%= f.input :password %>
<%= f.input :password_confirmation %>

<%= f.button :submit, t("devise.invitations.edit.submit_button") %>
<% end %>

我想添加一些字段,例如

代码语言:javascript
复制
<%= f.input :firstname %>

但是,当我这样做时,它确实出现在视图中,尽管它没有保存到用户模型中。所以,我想我需要修改控制器。这就是我感到困惑的地方,我想是因为我试图在设计图和devise_invitable自述文件之间来回切换,我使用的是Design3.5.6和devise_invitable 1.5.5。我尝试将上面的输入添加到表单中,并将应用程序控制器更改为

代码语言:javascript
复制
 before_action :configure_permitted_parameters, if: :devise_controller?

 protected

 def configure_permitted_parameters
   devise_parameter_sanitizer.for(:sign_up) << :firstname
 end

但这仍然不能保存到我的用户模型。有人有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-01 18:31:30

您正在允许传递给paramsRegistrationsController create操作。您可以在定义中看到它,下面是用于:sign_up的params消毒液

devise_parameter_sanitizer.for(:sign_up) << :firstname

在您的示例中,它必须是:accept_invitation,因为您使用的是devise_invitable,而表单submit url是invitation_path,它将提交给Devise::InvitationsController#update

代码语言:javascript
复制
devise_parameter_sanitizer.for(:accept_invitation) do |u|
    u.permit(:firstname)
end

更多细节这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38705338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档