Ruby on rails Don';如果未输入用户输入,则不显示

Ruby on rails Don';如果未输入用户输入,则不显示,ruby-on-rails,ruby,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
      %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

这应该可以解决您的问题:

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

只有在有内容的情况下才显示内容。

我的猜测是,
付款人\ U合同。止损\ U报销\ U百分比
是一个空字符串,它是!=在红宝石中为零。试着像这样使用
present?

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