我有一组重复记录,其中应包含一个字符串,该字符串应包含一个条件文本 block :
<% if @order.payments.present? %>
<% @order.payments.each do |p| %>
<tr>
<td>Payment</td>
<td>There was a "MY CONDITIONAL TEXT" for <span><%= number_to_currency(p.try(:amount)) %></span></td>
</tr>
<% end %>
<% end %>
So "MY CONDITIONAL TEXT" options would be:
"Partial Payment" when p.amount < @order.value
"Excessive Payment" when p.amount > @order.value
"Payment" when p.amount = @order.value
有没有什么方法可以在 OrdersHelper“payment_type”中创建一个辅助方法来帮助我避免在我的 View 中出现条件语句?
最佳答案
是的,为此在助手中创建一个方法
def method_name(order_value, payment_amount)
if payment_amount < order_value
"Partial Payment"
elsif payment_amount > order_value
"Excessive Payment"
elsif payment_amount = order_value
"Payment"
end
end
现在在 View 中
<%= method_name(@order.value, p.amount)%>
关于ruby-on-rails - 来自助手的条件文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20955913/