Замена «true» / «false» изображениями - PullRequest
1 голос
/ 08 апреля 2011

У меня есть таблица в Rails, где несколько столбцов заполнены значениями true / false.

Как я могу выполнить подстановку, заменяя таблицу, полную true s и false s, маленькими изображениями для представления истинного и ложного?

Ответы [ 3 ]

3 голосов
/ 08 апреля 2011

Я обычно добавляю класс к элементу <span> или <div>, а затем использую селекторы CSS для применения соответствующего фонового изображения для каждого случая.

В представлении ...

<span class='foo-indicator <%= @item.foo? ? 'foo' : 'not-foo' %>'>&nbsp;</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')
}
1 голос
/ 08 апреля 2011

В вашем приложении есть вспомогательный метод, как-то так:

def display_status(status)
  (status == true) ? image("true.png") : image("false.png") 
end

private
def image(name)
 "/images/#{name}"
end

А когда вы создаете таблицу, вызывайте метод display_status с параметром.

0 голосов
/ 02 августа 2011

та же идея, что и у Стива Йоргенсена, но без css

<img src="<%= @item.foo? ? "/images/true.png" : "/images/false.png" %>"></img>

...