2016-08-10 8 views
0

それはボックスがyます場合、私は、ときにxに等しいbook_tyボックスが赤色になります。このはどのようにクラス値に基づいて、ボックスの色を変更する

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

のようなループ内のコードを持っていますオレンジ色です。今の色は、直接私が

色に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 

でメソッドを定義することを適用したいarticle.book_typeに適用されますクラス値?

+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を取得するには?その上

#box .x { color: red } 

と:私が正しく質問を解析された場合

+0

ええ、私はすでにそれを試しましたが、スタイルはボックスに適用されていません。 – Mani

0

は、あなたがにあなたのCSSを変更したいです。上記は、要素に色を適用し、class="x"id="box"を持っています。

それとも、あなたがルビーを変更する場合があります:

<td id="box_<%= book_ty(article)%>"><%= article.book_type %></td> 

とにcssを変更します。

#box_x { color: red } 

あるいは、上記の解決策を兼ね備えています。

関連する問題