1

我正在尝试渲染部分表单以进行编辑,但我不希望该表单的特定部分显示在编辑操作中。我正在使用普通格式渲染。

<%= render 'form', link: @link %>

而且我不想显示特定的部门

<div class="form-group">
<%= f.label :Description %><br>
<%= f.text_area :description, class: "form-control" %>

谢谢,

4

2 回答 2

1

您可以通过以下方式实现:仅div在对象是新记录时才显示:

<% if f.object.new_record? %>
  <div class="form-group">
    <%= f.label :Description %><br>
    <%= f.text_area :description, class: "form-control" %>
  </div>
<% end %>

另一种方法是将额外的参数传递给部分:

<% if allow_description %>
  <div class="form-group">
    <%= f.label :Description %><br>
    <%= f.text_area :description, class: "form-control" %>
  </div>
<% end %>

接着:

# new action
<%= render 'form', link: @link, allow_description: true %>

# edit action
<%= render 'form', link: @link, allow_description: false %>
于 2016-09-05T12:43:20.357 回答
1

if你可以用这样的包装div

<% if @link.new_record? %>
  <div class="form-group">
  <%= f.label :Description %><br>
  <%= f.text_area :description, class: "form-control" %>
<% end %>
于 2016-09-05T12:43:26.793 回答