2016-09-22 23 views
0

我剛開始學習代碼(和英語..),我有一個與ruby有條件的概率。 :o紅寶石更改標籤的顏色,如果有條件的

我有根據「出版」誰後的數組,「類別」。

,我想這個標籤來在fonction我的類別變化的顏色catgeory?

(對不起,我的英語我的學習^^工作)

這是我簡單的形式爲後一個產品的一部分(這是假的,它只是用於顯示我的想法)

<%= f.input :Category, collection:[" Application ", "Nature" ,"Design", "Science"], prompt: "Choisissez votre categorie"%>** 

<% if Category["Nature"]? %> 
<span class="label label-info"> 
<h6><%= publication.Category %></h6> 
</span> 
<% else if Category["Tech"]? %> 
<span class="label label-sucess"> 
<h6><%= publication.Category %></h6> 
</span> 
<%end%> 

THX的幫助

+0

使用'elsif',而不是'其他if' –

回答

0

一種替代到上面的建議是創建一個輔助方法。

def publication_label(category) 
    colors = { 
    'Nature'  => 'label-info', 
    'Tech'  => 'label-success', 
    'Application' => 'label-info' 
    } 

    content_tag(:span, class: "label #{colors[category]}") do 
    content_tag(:h6, category) 
    end 
end 

(因爲你可能也是新的軌道,你也許可以將它放入/app/helpers/publications_helper.rb)。

有了該助手,您認爲可以這麼簡單:

<%= publication_label publication.Category %> 
+0

thx我會嘗試的! :) – alex

+0

它是完美的:) – alex

0

創建我的索引視圖我所有的產品的一部分與類別的散列和它們各自的類

color_hash = { 
    "Nature" => 'label-info', 
    "Tech" => 'label-success', 
    "Application" => 'label-info' 
} 

而只是通過類別的值在publication.Category

<span class="label <%= color_hash[publication.Category] %>"> 
    <h6><%= publication.Category %></h6> 
</span> 

如果publication.Category"Tech"上面的代碼將是:

<span class="label label-success"> 
    <h6><%= publication.Category %></h6> 
</span> 
+0

THX!我會試試:) – alex