在 HTML 中添加多个带有 Rails 字符串插值的条件 CSS 类



我正在使用Rails并尝试根据查询字符串参数有条件地添加div高度。v查询字符串参数有四个可能的值:1、2、3 或 4。 当v=3v=4时,我想显示heading-row-2类。 否则,我想显示heading-row类。

我正在寻找类似于这两个的东西:

<%= content_tag :div, class: "row #{'heading-row-2' ? (params[:v] == 3 || 4) : 'heading-row'}"%>
<div class="row <%='heading-row-2' ? (params[:v] == 3 || 4) : 'heading-row'%> ">

请注意,我还需要:
- 一个"行"标签。
- 在div中添加更多 html。

在任何情况下都可以添加heading-row。如果参数v为 3 或 4,则将值-2插入 class 选项:

<%= content_tag :div, class: "row heading-row#{'-2' if params[:v].in?(['3', '4'])}" %>
<div class="row heading-row<%= '-2' if params[:v].in?(['3', '4']) %>">

第二种方法似乎更容易阅读。


通知

params[:v] == 3 || 4

可能不是你所期望的,因为它的意思是"如果 params[:v] 的值等于 3,则返回 true,否则返回 4"。

最新更新