0

我正在尝试创建一个 if 语句,以便如果没有找到记录,则会显示一条默认消息。我目前有这个:

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

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

4

4 回答 4

2
    - if @n.blank?
      welcome
    - else
      - @n.each do |n|      
        = n.name
        = raw " - "
        = n.company
于 2013-01-09T14:37:36.420 回答
1

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

- if @n.blank?
于 2013-01-09T14:37:23.423 回答
0

如果在一个方法中

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

如果在一个块中

<% if @object.blank? %><%= #foo %>
<% else %>
<%= #bar %>
<% end %>
于 2013-01-09T14:39:24.933 回答
0

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

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

如果您使用的是rails(因此是activesupport).blank?(由其他人建议)适用于所有这些情况

nil.blank? #=> true
"".blank? #=> true
[].blank? #=> true 
于 2013-01-09T14:56:58.593 回答