Rails - 在使用 .present 将行添加到 table 之前尝试检查列是否为空?
Rails - Trying to check if a column is empty before adding rows into table using .present?
我有一个显示处方列表的 table。我想过滤掉没有 "ended" 日期的处方。我正在尝试使用礼物?但没有任何运气。
<% if @prescriptions.where(:ended => present?) %>
<% @prescriptions.each do |prescription| %>
<tr>
<td><i class="fa fa-medkit"></i> <%= prescription.drug.friendly_name %></td>
<td><%= prescription.dosage %></td>
<td><i class="fa fa-calendar"></i> <%= prescription.started %></td>
<td><i class="fa fa-calendar"></i> <%= prescription.ended %></td>
</tr>
<% end %>
<% end %>
如果您指出遇到的错误以及呈现此视图的控制器操作,将会有所帮助。
您可以使用 select 过滤掉没有结束日期的处方,但最好在您的模型中设置一个范围。假设您有处方模型:
def self.unexpired
where.not(ended: nil)
end
控制器可以调用这个范围,例如
Prescription.unexpired
我有一个显示处方列表的 table。我想过滤掉没有 "ended" 日期的处方。我正在尝试使用礼物?但没有任何运气。
<% if @prescriptions.where(:ended => present?) %>
<% @prescriptions.each do |prescription| %>
<tr>
<td><i class="fa fa-medkit"></i> <%= prescription.drug.friendly_name %></td>
<td><%= prescription.dosage %></td>
<td><i class="fa fa-calendar"></i> <%= prescription.started %></td>
<td><i class="fa fa-calendar"></i> <%= prescription.ended %></td>
</tr>
<% end %>
<% end %>
如果您指出遇到的错误以及呈现此视图的控制器操作,将会有所帮助。
您可以使用 select 过滤掉没有结束日期的处方,但最好在您的模型中设置一个范围。假设您有处方模型:
def self.unexpired
where.not(ended: nil)
end
控制器可以调用这个范围,例如
Prescription.unexpired