【问题标题】:Don't display if no user input is entered如果没有输入用户输入,则不显示
【发布时间】:2016-02-02 04:51:26
【问题描述】:

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

%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

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

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

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

    有内容才显示内容。

    【讨论】:

      【解决方案2】:

      我的猜测是 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 + '%'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-18
        • 1970-01-01
        • 2023-04-10
        • 2011-09-26
        • 1970-01-01
        • 2023-03-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多