使用 devise invitable gem 时出现路由错误

Routing error when using devise invitable gem

提问人:Surya 提问时间:6/2/2023 更新时间:6/2/2023 访问量:16

问:

获取 No route matches [GET] “/users/invitation/new” 错误,即使它是 /invitation/new new_user_invitation_path在路线列表下说明。

使用 Gem Devise Invitable 并将此视频用作参考:https://youtu.be/5HMWE8g6_tc

试:

rails generate devise_invitable:install
rails db:migrate
rails generate devise_invitable:views

invitations_controller.rb

# app/controllers/users/invitations_controller.rb
class Users::InvitationsController < Devise::InvitationsController
  before_action :configure_permitted_parameters, if: :devise_controller?

  # GET /users/invitation/new
  def new
    super
  end

  # POST /users/invitation
  def create
    super
  end

  # GET /users/invitation/accept?invitation_token=abcdef
  def edit
    # Add any additional logic you need before rendering the invitation acceptance form
    super
  end

  # PUT /users/invitation
  def update
    # Add any additional logic you need after accepting the invitation
    super
  end

  private

  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:accept_invitation, keys: [:name, :other_attributes])
  end
end

路线.rb

Rails.application.routes.draw do
  # ...
  devise_for :users, controllers: { invitations: 'users/invitations' }
  # ...
end
Ruby 设计-诱人

评论

0赞 spickermann 6/2/2023
更改后是否重新启动了服务器?你还有另一行吗?config/routes.rbdevise_forconfig/routes.rb

答: 暂无答案