免責事項あなたは以下の溶液中でのハッシュで各タイトルを追加する必要がありますので、あなたのカテゴリタイトルの、かなり多く設定されている場合、これが動作します。
私は個人的に
draperようなものを使用するか、単に自分のプレゼンターをロールが、これ
が私は私ができる場合はヘルパーを回避しようとするので、私のように、ヘルパーでこれを入れておりません...あなたのモデルに行くことができるでしょう
彼らはあなたのビューの範囲を乱雑にします。
def label_class
label_class_map[title]
end
private
def label_class_map
{
'title-one' => 'red',
'Site News' => 'blue'
}
end
ハッシュは高速で、条件としては醜いものではありません。だから私はこの種の論理のためにそれらを選ぶのです。明らかにステートメント、ケースステートメントなどがすべて機能しますが、私はそれらを避けようとします。
$ category.title = 'Site News'
$ category.label_class
# => 'blue'
ここでは、次のように表示することができます。
# view
<div class="category label <%= topic.category.label_class %>">
<%= link_to...
</div>
更新
あなたはむしろドレイパーしたり、独自のプレゼンターのパターンのようなものを追加することなく、このついて行くには、下の仕事はヘルパーとして行われます。
module CategoriesHelper
def label_class_for(category)
label_class_map[category.title]
end
private
def label_class_map
{
'title-one' => 'red',
'Site News' => 'blue'
}
end
end
# your view
<div class="category label <%= label_class_for(topic.category) %>">
カテゴリは設定されていますか?またはそれらはユーザー生成されていますか? –