我正在使用Rails并尝试根据查询字符串参数有条件地添加div高度。v
查询字符串参数有四个可能的值:1、2、3 或 4。 当v=3
或v=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"。