rails if语句,如果没有找到记录

时间:2013-01-09 14:35:10

标签: mysql ruby-on-rails if-statement haml

我正在尝试创建一个if语句,以便在找不到记录时显示默认消息。我目前有这个:

- if @n == nil || @n ==""
  welcome
- else
  - @n.each do |n|      
    = n.name
    = raw " - "
    = n.company

但它会忽略第一行,只在必要时显示记录。

4 个答案:

答案 0 :(得分:2)

    - if @n.blank?
      welcome
    - else
      - @n.each do |n|      
        = n.name
        = raw " - "
        = n.company

答案 1 :(得分:1)

尝试查询实例变量是否为空? :

- if @n.blank?

答案 2 :(得分:0)

如果在方法中

if @object.blank?
 #whatever you want to happen
else
 #whatever you want to happen

如果在一个区块中

<% if @object.blank? %><%= #foo %>
<% else %>
<%= #bar %>
<% end %>

答案 3 :(得分:0)

我认为@n应该是一个对象数组,而不是字符串,所以你应该检查它是否为空:

if @n == nil || @n == []

如果你使用rails(&amp;因此activesupport).blank? (由他人建议)适用于所有这些案件

nil.blank? #=> true
"".blank? #=> true
[].blank? #=> true