我有一个表单,我向用户显示金额。不幸的是,我注意到如果用户没有输入任何数据,它只会显示一个"%",这看起来有点尴尬。如果用户没有输入任何内容,我想不显示任何内容。这是我到目前为止的代码:
%tbody
- @payer_contracts.each do |payer_contract|
%tr
%td= payer_contract.stoploss_reimbursement_percentage.to_s + '%'
我想要这样做,以便它不会显示"%"。我试过这个,但这不起作用:
%tbody
- @payer_contracts.each do |payer_contract|
%tr
if payer_contract.stoploss_reimbursement_percentage != nil?
%td= payer_contract.stoploss_reimbursement_percentage.to_s + '%'
有什么想法吗?
这是html.haml
答案 0 :(得分:1)
这可以解决您的问题:
%td= "#{payer_contract.stoploss_reimbursement_percentage}%" if payer_contract.stoploss_reimbursement_percentage.present?
仅在有内容时才显示内容。
答案 1 :(得分:0)
我的猜测是payer_contract.stoploss_reimbursement_percentage
是一个空字符串,在ruby中是!= nil。尝试使用present?
,如下所示:
%tbody
- @payer_contracts.each do |payer_contract|
%tr
if payer_contract.stoploss_reimbursement_percentage.present?
%td= payer_contract.stoploss_reimbursement_percentage.to_s + '%'