gpt4 book ai didi

ruby-on-rails - 将多个 css 类分配给 Rails 中的表元素

转载 作者:行者123 更新时间:2023-11-28 11:47:37 25 4
gpt4 key购买 nike

我正在尝试使用 cycle 和 helper 来设置表格行的样式,如图所示:

<tr class= <%= cycle("list-line-odd #{row_class(item)}", "list-line-even #{row_class(item)}")%> >

但是,当我这样做时,生成的 HTML 是:

<tr class = "list-line-odd" lowest-price>

辅助方法的返回未包含在引号中,因此无法识别。

这是我正在使用的助手:

  def row_class(item)
if item.highest_price > 0 and item.lowest_price > 0 and item.highest_price != item.lowest_price
if item.current_price >= item.highest_price
"highest-price"
elsif item.current_price <= item.lowest_price
"lowest-price"
end
end
end

我肯定遗漏了一些明显的东西,但我就是想不出如何将循环的结果和辅助方法返回的结果用同一组引号括起来。任何帮助将不胜感激!

最佳答案

在 HTML 中的类定义周围有您想要的引号,以及用于分隔 ruby​​ 代码中调用的字符串的引号。 <%= 里面的 ruby 调用两个输出字符串的函数( cycle 和您的方法 row_class ),您希望用空格分隔它们。我认为这些中的任何一个都会做你想做的事:

<tr class="<%= cycle('list-line-odd', 'list-line-even') + ' ' + row_class(item) %>" >

或者更漂亮一点

<tr class="<%= "#{cycle('list-line-odd', 'list-line-even')} #{row_class(item)}" %>" >

甚至 %Q||格式以避免分隔符混淆...

<tr class="<%= %Q|#{cycle('list-line-odd', 'list-line-even')} #{row_class(item)}| %>" >

结果类似

<tr class="list-line-odd lowest-price" >

编辑:我原来的帖子是错误的。需要在cycle和row_class方法之间拼接空格。

关于ruby-on-rails - 将多个 css 类分配给 Rails 中的表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9875786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com