Ruby on rails 检查嵌套表单记录是否为空

Ruby on rails 检查嵌套表单记录是否为空,ruby-on-rails,ruby,Ruby On Rails,Ruby,我可以检查嵌套表单中的某些记录是否为空吗?我正在尝试,但它不起作用 <%= f.fields_for :detallepromo do |builder| %> <% if builder.Monto == nil %> <div class="well center-block"> <div class="form-group"> <h3 class="col-md-5">Promocion Base:&

我可以检查嵌套表单中的某些记录是否为空吗?我正在尝试,但它不起作用

<%= f.fields_for :detallepromo do |builder| %>
  <% if builder.Monto == nil %>

  <div class="well center-block">
    <div class="form-group">
      <h3 class="col-md-5">Promocion Base:</h3>
    </div>


    <div class="form-group">
      <%= builder.label :Monto,"Monto:", class: "control-label col-md-2" %>

      <div class="col-md-3">
        <%= builder.text_field :Monto, class: "form-control  mensaje_fechafinal" %>
      </div>
  <% end %>
<% end >

推广基地:
如何,如果是这样:

    <% if :detallepromo? %>
      <p>bla.bla..</p>
    <% else %>
    <%= f.fields_for :detallepromo do |builder| %>
       <div class="well center-block">
         <div class="form-group">
           <h3 class="col-md-5">Promocion Base:</h3>
         </div>

     <div class="form-group">
       <%= builder.label :Monto,"Monto:", class: "control-label col-md-2" %>

      <div class="col-md-3">
        <%= builder.text_field :Monto, class: "form-control  mensaje_fechafinal"%>
      </div>
  <% end %>
<% end >

布拉,布拉

推广基地:
尝试以下操作

<%= f.fields_for :detallepromo do |builder| %>
  <% if builder.Monto.nil? %>

  <div class="well center-block">
    <div class="form-group">
      <h3 class="col-md-5">Promocion Base:</h3>
    </div>


    <div class="form-group">
      <%= builder.label :Monto,"Monto:", class: "control-label col-md-2" %>

      <div class="col-md-3">
        <%= builder.text_field :Monto, class: "form-control  mensaje_fechafinal" %>
      </div>
  <% end %>
<% end >

推广基地:

如果
Monto
是您的
ActiveRecord
模型的属性,那么您不能直接在
FormBuilder
对象上访问它

尝试:

你说的“不起作用”是什么意思?你应该描述你期望得到什么,以及正在发生什么。此外,您的HTML似乎缺少一个结束符
,最后一个
格式错误。这可能是您的代码无法工作的原因吗?@tompave谢谢您的回答,我希望获得例如:where builder.Monto==1然后使用另一个数据显示表单,具体取决于每个记录谢谢您的回答,我希望获得例如:where builder.Monto==1然后使用另一个数据显示表单,根据每个记录感谢您的回答,这会引发未定义的方法“Monto”,原因是#我不知道为什么,我希望获得例如:where builder.Monto==1,然后根据每个记录用另一个数据显示表单