我刚刚开始学习代码(和英语......),我有一个带有ruby条件的概率。 :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
<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>
答案 1 :(得分: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
(因为你可能也是rails的新手,你可以把它放到/app/helpers/publications_helper.rb中)。
有了这个助手,你的观点可以简单如下:
<%= publication_label publication.Category %>