如何将自定义字段添加到Dewise_inditable邀请表格

问题描述 投票:0回答:2

我需要在使用Devise_Inable邀请用户时设置用户的角色。我已经阅读了有关如何完成此操作以及文档的答案,但我没有运气。每个帖子都非常过时。

为什么在视图中填充角色字段?只有电子邮件字段显示。 我需要在我的application_controller中添加一些东西吗?

routes.rb

Rails.application.routes.draw do resources :assignments resources :games devise_for :users, :controllers => {registrations: 'registrations', invitations: 'users/invitations' } root 'main#index' end

Invitations_controller.rb

class Users::InvitationsController < Devise::InvitationsController before_action :configure_permitted_parameters protected # Permit the new params here. def configure_permitted_parameters devise_parameter_sanitizer.permit(:invite, keys: [:email, :role]) end end

app/views/deavise/邀请/new.html.erb

<h2><%= t "devise.invitations.new.header" %></h2> <%= simple_form_for(resource, as: resource_name, url: invitation_path(resource_name), html: { method: :post }) do |f| %> <%= f.error_notification %> <% resource.class.invite_key_fields.each do |field| -%> <div class="form-inputs"> <%= f.input field %> </div> <% end -%> <div class="form-actions"> <%= f.button :submit, t("devise.invitations.new.submit_button") %> </div> <% end %>

	
ruby-on-rails forms controller devise devise-invitable
2个回答
0
投票
class User < ApplicationRecord attr_accessor :role end

我找到了这个解决方案:

0
投票
config/initializers/devise.rb

;

添加一个角色密钥,我按照以下操作:

config.invite_key`

这样做,无需进一步的更改。该角色的领域是由设计本身产生的。
    

© www.soinside.com 2019 - 2025. All rights reserved.