0

見せたいリストアイテムがたくさんあります。値を持つものと持たないものがあります。それらすべてに素晴らしい値があるが、3つの値だけに値がある場合、値なしでリストアイテムを非表示にするにはどうすればよいですか?

<li><%= @post.color %></li>
<li><%= @post.make %></li>
<li><%= @post.model %></li>
<li><%= @post.cupholder %></li>

私は私が次のようなことをすることができると思いました

<% if @post.attr.each do %> 
  <li><%= @post.color %></li>
  <li><%= @post.make %></li>
...
<% end %>

また

<% if @post.make %>
  <li><%= @post.make %></li>
<% end %>

しかし、私はそれを得ることができません、そして今、私は何を尋ねるか/検索するかさえわかりません。

4

2 に答える 2

1

で試してみてください

<% unless @post.color.blank? %><li><%= @post.color %></li><% end %>
<% unless @post.make.blank? %><li><%= @post.make %></li><% end %>
<% unless @post.model.blank? %><li><%= @post.model %></li><% end %>
<% unless @post.cupholder.blank? %><li><%= @post.cupholder %></li><% end %>
于 2013-01-09T06:33:50.607 に答える
0

posts_helper.rb( )のように、ビューコードをクリーンに保つためにヘルパーを使用してみてください

module PostsHelper
  def li_unless_blank(val)
    val.blank? ? '' : "<li>#{val}</li>"
  end
end

そしてあなたの見解では

<%= li_unless_blank @post.color %>
<%= li_unless_blank @post.make %>
<%= li_unless_blank @post.model %>
...
于 2013-01-09T06:39:11.487 に答える