2011-12-27 83 views
0

我有一個帶有布爾複選框的模型,當它被點擊'true'時我想顯示圖像,如果沒有點擊'null'想顯示什麼都沒有。在Rails 3.1中顯示圖像或什麼都沒有

迄今爲止的觀點被稱爲:

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

空滴答「」這是我在沒有嘗試,但它只是給了我一個斷開的鏈接圖像。由於這是我個人試圖解決這個問題的方法,而且我對rails的新手比較陌生,所以我不確定if/else是否是一種很好的方式來實現這個目標?

任何想法?謝謝!

回答

1

這可能是一點點短語法。

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

而且,漂亮的使用:alt屬性;視力受損者會欣賞它。

+0

謝謝安德魯 - 是的,ALT標籤是一個好習慣。感謝您的答覆!工作很好! – keade 2011-12-27 19:39:48

4

嘗試像

<%= @dining.pets.present? ? image_tag('petfriendly.png') : '' %> 
+0

很好的回答。在這種情況下,我們還經常使用默認圖像來保存佈局。 – 2011-12-27 19:14:43

+0

感謝您的回覆。請參閱下面的@Andrew Kuklewicz答案,就像我使用的答案一樣,正如它顯示更多具有用戶友好屬性的可訪問選項。你的工作原理是一樣的。謝謝! – keade 2011-12-27 19:39:18

+0

我確信你將能夠轉移到自己的標題和alt標籤:p – tmaximini 2011-12-27 19:59:48

1

你可以嘗試這樣的

<%= image_tag('petfriendly.png') if @dining.pets %>