2016-09-22 3 views
0

저는 코드 (그리고 영어 ..)를 배울 것입니다. 나는 루비 조건부를 가지고 있습니다. : O루비는 조건부 레이블의 색상을 변경합니다.

"게시"게시물에 따라 "범주"라는 배열이 있습니다.

나는 내 범주의 레이블 색상이 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%> 

들으 도움이

+0

사용' –

답변

0

대안 : 범주와 해시 및 각 클래스

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

단은 publication.Category"Tech" 경우 상기 코드 것이다 publication.Category

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

카테고리의 값을 전달 위의 제안은 도우미 메서드를 만드는 것입니다.

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

완벽한 ty입니다. :) – alex

0

만들기 위해 내 모든 제품 내 인덱스 뷰의 일부

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

들으 if' 대신 다른'의 elsif'! 나는 그것을 시도 할 것이다 :) – alex