我在名为 _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 视图中在此表单上制作补丁,只需将电子邮件字段灰化,并保留表单的其他字段
答案 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
....