我在这样的循环中有一个代码
<td id = box, class =<%= book_ty(article)%>><%= article.book_type %></td>
当book_ty
等于x
时,该框将变为红色,如果为y
,则该框将为橙色。现在颜色直接应用于article.book_type
我想将这些颜色应用到id
我在articles.helper.rb
中定义了一个方法,即
def book_ty(article)
case article.book_type
when "x"
"x"
when "y"
"y"
when "z"
"z"
end
end
article.scss
中的
.x {
color: red;
}
.y{
color: orange;
}
.z{
color: green;
}
#box {
width: 50px;
height: 50px;
display: inline;
margin-right: 10px;
}
如何根据类值更改框颜色?
答案 0 :(得分:1)
您不需要辅助方法,article.book_type
已经返回td
的类。
<td id="box" class="<%= article.book_type %>"><%= article.book_type %></td>
但你的头衔对我来说还不清楚
如何根据类值获取css id?
答案 1 :(得分:0)
如果我正确解析了问题,您想要将css修改为:
#box .x { color: red }
等等。以上内容会将颜色应用于具有class="x"
和id="box"
的元素。
或者,您可以将红宝石更改为:
<td id="box_<%= book_ty(article)%>"><%= article.book_type %></td>
并将css
修改为:
#box_x { color: red }
或者,结合上述解决方案。