我試圖創建一個if語句,以便如果沒有找到記錄,將顯示默認消息。我目前有這樣的:rails if語句,如果沒有找到記錄
- if @n == nil || @n ==""
welcome
- else
- @n.each do |n|
= n.name
= raw " - "
= n.company
但它忽略了第一行,只是在必要時顯示記錄。
我試圖創建一個if語句,以便如果沒有找到記錄,將顯示默認消息。我目前有這樣的:rails if語句,如果沒有找到記錄
- if @n == nil || @n ==""
welcome
- else
- @n.each do |n|
= n.name
= raw " - "
= n.company
但它忽略了第一行,只是在必要時顯示記錄。
試着查詢實例變量的空白? :
- if @n.blank?
- if @n.blank?
welcome
- else
- @n.each do |n|
= n.name
= raw " - "
= n.company
如果在一個方法
if @object.blank?
#whatever you want to happen
else
#whatever you want to happen
如果在一個塊
<% if @object.blank? %><%= #foo %>
<% else %>
<%= #bar %>
<% end %>
我認爲@n應該是對象的數組,而不是字符串,所以你應該檢查它是否爲空:
if @n == nil || @n == []
如果您使用rails(&因此activesupport).blank? (由他人建議)適用於所有這些情況下
nil.blank? #=> true
"".blank? #=> true
[].blank? #=> true
這樣做的問題是,空字符串'「」'的計算結果爲truthy,這是一個什麼樣的OP期望 –
感謝相反,所以空白法會在這裏工作得更好,編輯答案 – Richlewis