2016-02-01 76 views
1

我有一个表单,用于向用户显示金额。不幸的是,我注意到如果用户没有输入数据,它只会显示一个“%”,看起来有点尴尬。如果用户没有输入任何内容,我不想显示任何内容。这里是我到目前为止的代码:如果没有输入用户输入,则不显示

%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

回答

1

这应该解决您的问题:

%td= "#{payer_contract.stoploss_reimbursement_percentage}%" if payer_contract.stoploss_reimbursement_percentage.present? 

只显示内容,如果有内容。

0

我的猜测是payer_contract.stoploss_reimbursement_percentage是一个空字符串,它是!=在Ruby中为零。尝试使用present?这样的:

%tbody 
    - @payer_contracts.each do |payer_contract| 
    %tr 
     if payer_contract.stoploss_reimbursement_percentage.present? 
     %td= payer_contract.stoploss_reimbursement_percentage.to_s + '%' 
相关问题