RAILS:使用呈现形式的只读字段

时间:2021-07-29 12:42:22

标签: ruby-on-rails

我在名为 _form.html.haml 的视图中有一个带有电子邮件文本字段和一些其他类型字段的表单视图,如下所示:

....
= easy_form_for @form, label_col: 'col-md-2', control_col: 'col-md-10' do |f|

    = f.text_field :name,  required: true
    = f.text_field :email, required: true
    = f.text_area  :description, rows: 5
....

还有一个继承自这个表单的 edit.html.haml 视图,如下所示:

...
%h2.page-header= page_title

= render 'form'
...

我想在 edit.html.haml 视图中在此表单上制作补丁,只需将电子邮件字段灰化,并保留表单的其他字段

1 个答案:

答案 0 :(得分:0)

您可以向 form 部分发送一个参数并在那里处理只读部分。

= render partial: 'form', locals: { disable_email: true }

如果 form 部分没有收到任何 disable_email,它将默认为 false

....
- disable_email = local_assigns.has_key?(:disable_email) ? disable_email : false
= easy_form_for @form, label_col: 'col-md-2', control_col: 'col-md-10' do |f|

  = f.text_field :name,  required: true
  = f.text_field :email, required: true, readonly: disable_email
  = f.text_area  :description, rows: 5
....
相关问题