首页 > 解决方案 > Rails 标签助手未按预期显示

问题描述

def amount_html
  h.tag.span do
    h.tag.del do
      'value1'
    end
    'value2'
  end
end

我正进入(状态:

<span> value2 </span>

代替:

<span><del>value1</dev> value2 </span>

我需要加入吗?如果是这样怎么办?

标签: ruby-on-railsrubyhelperruby-on-rails-5.2

解决方案


标签只是字符串,您需要将它们连接起来。另请注意,默认情况下会转义标签,因此您无需调用h它们。

def amount_html
  tag.span do
    tag.del do
      'value1'
    end + 
    'value2'
  end
end

或者正如@mu 指出的那样,您也可以使用concat,它将每个字符串添加到输出缓冲区,而无需手动+将它们一起手动:

tag.span do
  concat tag.del('value1')
  concat 'value2'
end

推荐阅读