如何通过 Rails 7 和 Turbo Stream 使用 Devise Invitable

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

我有一个带有 Devise 4.9 和 Devise Invitable 2.0.7 的 Rails 7 应用程序。

initializers/devise.rb
我已将此navigational_formats设置为:

config.navigational_formats = ['*/*', :html, :turbo_stream]

这允许设计表格正常工作。

但是,此配置破坏了设计邀请表单,例如: 这个表格

app/views/devise/invitations/new.html.erb

<%= form_for(resource, as: resource_name, url: invitation_path(resource_name), html: { method: :post }) do |f| %>

如果我尝试提交此表格,我会收到此错误消息:

undefined method `users_url' for #<Users::InvitationsController:0x00000000050dc0>

如果我将其添加到我的路线中

resources :users

然后我在提交表单时得到这个错误:

undefined method `empty?' for #<User id: nil,  ...

如果我将

data: {turbo: false}
添加到邀请的 form_for,那么表单将提交,但它不适用于 turbo 流。

如何使用此 Devise 配置使 Devise Invitable 工作?

config.navigational_formats = ['*/*', :html, :turbo_stream]

或者我应该如何处理这种情况?

ruby-on-rails devise ruby-on-rails-7 devise-invitable
© www.soinside.com 2019 - 2024. All rights reserved.