设计形式:<input name="email"/> 而不是名称"user[email]"

Devise form : <input name="email"/> instead of name"user[email]"

在 Chrome 和 iOs 上的自动填充在有 <input name="user[email]"/> 时不起作用,只有在有 <input name="email"/>

时才起作用

有没有办法 post { email: 'xx' } 而不是 { user: { email: 'xx' } } 设计?

所以我试图生成 Users::SessionsController < Devise::SessionsController 以理解 https://github.com/plataformatec/devise/blob/master/app/controllers/devise/sessions_controller.rb (def create) 但我做不到。我想我必须修改 sessionscontroller#create 上的一两行,但我不明白 warden.authenticate!

我想这就是典狱长所说的 'default_scope',我试过了 auth_option.merge({scope: :default}) 但没有用

可能会修改 devise_parameter_sanitizer,比如 .merge({user:{email:params[:email], password:params[:password]}),我不知道

您可以在字段中使用 autocomplete: "email" 选项。

例如在 SimpleForm 中:

<%=f.input :email, input_html: { autocomplete: 'email' } %>

https://developers.google.com/web/fundamentals/design-and-ui/input/forms/#recommended_input_name_and_autocomplete_attribute_values