【问题标题】:Need two addition fields to be added in devise form used and saved in different table(invite table)需要在设计表单中添加两个添加字段并保存在不同的表中(邀请表)
【发布时间】:2014-04-22 05:49:06
【问题描述】:

我在 ROR 中有一个使用设计的注册表单..我需要在此添加嵌套表单..但我无法添加它..谁能帮我解决它.. 以下表单保存给用户,但我希望它添加两个需要保存在邀请表中的字段...

%h2 Sign up
= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f|
  = devise_error_messages!

  .form-group
    %div
      = f.label :first_name, :class => "control-label"
      %br/
      = f.text_field :first_name, :autofocus => true, :class => "form-control narrow-control"
  .form-group
    %div
      = f.label :last_name, :class => "control-label"
      %br/
      = f.text_field :last_name, :class => "form-control narrow-control"
  .form-group
    %div
      = f.label :email, :class => "control-label"
      %br/
      = f.email_field :email, :class => "form-control narrow-control"
 %br/
  .form-group
    %div= f.submit "Sign up", :class => "btn btn-default"

我需要将以下两个字段(姓名,邀请)添加到上述表单中,并且需要将其添加到邀请表中...

.form-group
    %div
      = f.label :name, "Your Name (Required)", :class => "control-label"
      %br/
      = f.text_field :name, :class => "form-control narrow-control"

  .form-group
    %div
      = f.label :invite, "Your invite (Required)", :class => "control-label"
      %br/
      = f.text_field :invite, :class => "form-control narrow-control"

谁能帮忙解决一下?

【问题讨论】:

标签: ruby-on-rails forms ruby-on-rails-4 devise


【解决方案1】:

Accept_nested 属性是第一步,但由于设计正在处理注册,您需要将控制器将接受的属性列入白名单

我建议您在应用程序控制器中使用 devise_parimeter_sanitizer。

devise_parameter_sanitizer.for(:sign_up) do |u|
  u.permit(:first_name,:last_name,:email,  nested_attributes: [:name,:invite])
end 

您需要在此处指定模型的名称,而不是嵌套。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 2021-10-10
    • 1970-01-01
    • 2015-06-25
    相关资源
    最近更新 更多