Railsにテーブルがあり、いくつかの列がtrue/falseの値でいっぱいです。
true
sとfalse
sでいっぱいのテーブルを小さな画像に置き換えてtrueとfalseを表す、パフォーマンスの高い置換を行うにはどうすればよいですか?
Railsにテーブルがあり、いくつかの列がtrue/falseの値でいっぱいです。
true
sとfalse
sでいっぱいのテーブルを小さな画像に置き換えてtrueとfalseを表す、パフォーマンスの高い置換を行うにはどうすればよいですか?
<span>
私は通常、または要素にクラスを追加し、<div>
CSSセレクターを使用してそれぞれの場合に適切な背景画像を適用します。
ビューで...
<span class='foo-indicator <%= @item.foo? ? 'foo' : 'not-foo' %>'> </span>
CSSスタイルシートで...
.foo-indicator {
/* Specify height, width, positioning, etc. */
}
.foo {
background-image: url('../images/is-foo.png')
}
.not-foo {
background-image: url('../images/not-foo.png')
}
アプリケーションヘルパーに、このようなヘルパーメソッドを含めます
def display_status(status)
(status == true) ? image("true.png") : image("false.png")
end
private
def image(name)
"/images/#{name}"
end
また、テーブルを作成するときに、パラメーターを指定して「display_status」メソッドを呼び出します。
Steve Jorgensenと同じアイデアですが、cssはありません
<img src="<%= @item.foo? ? "/images/true.png" : "/images/false.png" %>"></img>