如果没有输入用户输入,则不显示

时间:2016-02-01 20:44:04

标签: ruby-on-rails ruby

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

%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

2 个答案:

答案 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 + '%'