Отображение изображения или ничего в Rails 3.1 - PullRequest
0 голосов
/ 27 декабря 2011

У меня есть модель с булевым флажком, и когда она нажата 'true', я бы хотела отобразить изображение, а если не нажата 'null', я бы хотела отобразить абсолютно ничего.

Пока вид называется:

<%= image_tag(@dining.pets? ? 'petfriendly.png' : '', :title => 'Pet Friendly', :alt => 'Pet Friendly') %>

Пустой тик '' был моей попыткой ничего, но он просто дает мне изображение неработающей ссылки. Поскольку это моя личная попытка решить эту проблему, и я относительно новичок в рельсах, я не уверен, является ли if / else в длинной форме хорошим способом для этого?

Есть идеи? Спасибо!

Ответы [ 3 ]

4 голосов
/ 27 декабря 2011

попробуйте что-то вроде

<%= @dining.pets.present? ? image_tag('petfriendly.png') : '' %>
1 голос
/ 24 апреля 2013

Вы можете попробовать вот так

<%= image_tag('petfriendly.png') if @dining.pets %>
1 голос
/ 27 декабря 2011

Это может быть немного более короткий синтаксис.

<%= image_tag('petfriendly.png', :title => 'Pet Friendly', :alt => 'Pet Friendly') if @dining.pets.present? %>

Также хорошо использовать атрибут: alt; слабовидящие это оценят.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...