2017-01-24 5 views
0

Project.status[1,2,3]です。 ビューで行うよりも、以下のロジックを定義するより良い方法がありますか(色はstatusに依存します)?値に応じてレールのブートストラップカラー

- if project.status == '1' 
    %td.bg-success= project.status 
- elsif project.status == '2' 
    %td.bg-warning= project.status 
- else 
    %td.bg-danger= project.status 
+0

私はこの 'statusColor = [" "、" success "、" warning "、" danger "]を試してからstatusColor [project.status]' –

答えて

0
color_code = {"1" => "success", "2" => "warning", "3" => "danger"}` 
color_code["#{project.status}"] 
+0

を 'project.rb'モデル? 2行目を見えるようにする方法は? –

1

あなたは道を次でそれを達成することができます。あなたのビューで:

- color_class = {'1': 'success', '2': 'warning'} 
- default_class = 'bg_danger' 

%td{class: (color_class[project.status] || default_class)}= project.status 

私は取得できませんでした - 何を意味するのかelse - それは他のどの状態であるか、単に第三。それ以外の場合 - default_classが適している場合は、別のキー値をcolor_classに追加してください。

ステータスについては、ActiveRecord enumsをご覧ください。

関連する問題