2016-08-10 27 views
0

我有這樣的基於類值如何改變框顏色

<td id = box, class =<%= book_ty(article)%>><%= article.book_type %></td> 

循環代碼當book_ty等於x框會變成紅色,如果是y盒子將是橙色的。現在的顏色直接應用於article.book_type我想申請的是顏色,id

article.scss

.x { 
    color: red; 
} 
.y{ 
    color: orange; 
} 
.z{ 
    color: green; 
} 

#box { 
width: 50px; 
height: 50px; 
display: inline; 
margin-right: 10px; 
} 

articles.helper.rb

def book_ty(article) 
case article.book_type 
    when "x" 
    "x" 
    when "y" 
    "y" 
    when "z" 
    "z" 
end 
end 

定義一個方法如何改變基於框顏色班級價值?

+1

這是什麼樣的問題? 「'如何根據類值獲取css id」,然後在最後這個「'如何根據類值改變框顏色?」首先決定你想要問的東西,然後把它寫成標題。 – Abhinay

+0

請參閱此文檔:http://stackoverflow.com/help/how-to-ask#help-post-body – Abhinay

+0

@Abhinay謝謝。 – Mani

回答

1

您不需要幫助器方法,article.book_type已經返回td的類。

<td id="box" class="<%= article.book_type %>"><%= article.book_type %></td> 

但是你的標題仍不清楚我

如何獲得基於類值的CSS ID?

+0

是的,我已經嘗試過,但款式不適用於盒子。 – Mani

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 } 

也可以結合上面的解決方案。