【问题标题】:Specify visible input fields from simple_form layout从 simple_form 布局中指定可见的输入字段
【发布时间】:2017-12-06 12:33:22
【问题描述】:

我正在加载两个视图,它们呈现 simple_form 表单布局,新建和编辑。

我需要在最初创建(新)用户配置文件时显示所有输入字段,并指定在用于编辑时不会显示的字段。我在persisted 周围看到了很多信息,但无法弄清楚。

我的_form.html.slim 文件。

= simple_form_for([:admin, User.new]) do |f|
  = f.error_notification
  .form-inputs
    = f.input :name, required: true, label: 'Name'
    = f.input :email, required: true
    = f.input :password, required: true, placeholder: ("#{@minimum_password_length} characters minimum" if @minimum_password_length)
    = f.input :password_confirmation, required: true

  .form-actions
    = f.button :submit, "Create User", class: 'btn btn-primary btn-block btn-lg'

我正在使用 Rails 和 Slim - 感谢任何帮助。

【问题讨论】:

标签: ruby-on-rails simple-form slim-lang


【解决方案1】:

您确实可以使用persisted? 有条件地呈现表单中的字段。

= simple_form_for([:admin, User.new]) do |f|
  = f.error_notification
  .form-inputs
    = f.input :name, required: true, label: 'Name'
    = f.input :email, required: true

    -# Say you don't want user to edit his password after creation
    - unless f.object.persisted?
      = f.input :password, required: true, placeholder: ("#{@minimum_password_length} characters minimum" if @minimum_password_length)
      = f.input :password_confirmation, required: true

    .form-actions
      = f.button :submit, "Create User", class: 'btn btn-primary btn-block btn-lg'

这里的f.object 将是User 实例,将为其呈现表单。

【讨论】:

  • 完美!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-22
  • 1970-01-01
  • 2011-10-29
  • 1970-01-01
  • 2013-06-24
  • 1970-01-01
  • 2021-11-06
相关资源
最近更新 更多