我在我的部分稱爲標題中有一個變量。如果我這樣做:rails 3.0.5問題,無變量!
<% if title.nil? %>
# stuff here
<% end %>
然後我得到一個錯誤,標題在不是已知的變量或方法!哪裏不對?
我在我的部分稱爲標題中有一個變量。如果我這樣做:rails 3.0.5問題,無變量!
<% if title.nil? %>
# stuff here
<% end %>
然後我得到一個錯誤,標題在不是已知的變量或方法!哪裏不對?
如果你的變量沒有定義,那麼你會得到這個錯誤。
在一個局部變量可以通過將其作爲一個局部變量定義:
<%= render :partial => 'my_partial', :locals => { :title => 'My Title' } %>
或在局部定義它:
<% title = nil %>
<% if title.nil? %>
# Do stuff here.
<% end %>
您還可以在使用實例變量的部分,如@title
,並且它們不需要定義,因爲它們總是默認爲零。
如果你想檢查您的變量定義,然後執行以下操作:
<% if defined?(title) %>
# Do stuff here.
<% end %>
你的變量在哪裏定義?如果它在控制器中設置,它應該是一個實例變量,前綴爲@
,如@title
。 如果title
實際上是在您的部分中聲明的,則不應該有任何問題。
標題是不是宣佈在所有... uptill軌道3.0.3如果未聲明的代碼工作.. 。 – Amit 2011-04-02 22:33:56
在Rails 3中,您可以執行'<%= render'my_partial':title =>'My Title'%>'而不是回答中提到的較長變體。 – Zabba 2011-04-03 00:50:02