On Rails 4. 指定された配色に従ってグラフィックス/製品を検索できるサイトを構築しています。関連モデル:
class Product < ActiveRecord::Base
belongs_to :color_scheme
end
class ColorScheme < ActiveRecord::Base
has_many :products
end
各配色には、列として 5 つの色の 16 進数値があります。Bootstrap を使用すると、コードは次のようになりますcollection_select
。
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1"
data-toggle="dropdown" aria-expanded="true" style="width:100%; margin-bottom:20px;">
<%= t('template.scheme')%> <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
<% @color_schemes.where(enabled: true).each do |scheme| %>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">
<div style="width:30px; height: 20px; display: inline-block;
background-color:#<%=scheme.color1%>;"></div>
<div style="width:30px; height: 20px; display: inline-block;
background-color:#<%=scheme.color2%>;"></div>
<div style="width:30px; height: 20px; display: inline-block;
background-color:#<%=scheme.color3%>;"></div>
<div style="width:30px; height: 20px; display: inline-block;
background-color:#<%=scheme.color4%>;"></div>
<div style="width:30px; height: 20px; display: inline-block;
background-color:#<%=scheme.color5%>;"></div>
</li>
<% end %>
</ul>
</div>
そして、これは視覚的な結果です:
私はランサックを使用しており、これは検索用のドロップダウンであるため、これを に変換しましたcollection_select
が、同じ視覚効果を得る方法がわかりません。
<%= f.collection_select :color_scheme_id_eq, ColorScheme.order('created_at DESC').all, :id,
:name, {include_blank: t('template.scheme')}, {class: 'form-control select-scheme',
style: 'width:100%; margin-bottom:20px;'} %>
そのため、配色のテキスト名を表示するだけでなく、上記のように色を表示したいと思います。これはおそらくコレクションの選択の範囲外であることは理解していますが、色は名前よりも視覚的に意味があると思います. collection_select
これは、ランサックで動作するタグまたは他のタグを介して可能ですか? ありがとう!編集:色盲の人などのために、色の右側に配色の名前がまだ残っている可能性があることも付け加えておく必要があります.