0
我該如何做出這樣的事情?Ruby:使用未定義的變量
1.9.3p286 :006 > defined? activated_flag
=> nil
1.9.3p286 :007 > puts (activated_flat ? "activated!" : "no activated")
我想看到這裏no activated
,而是我有:
NameError: undefined local variable or method `activated_flat' for main:Object
from (irb):7
from /Users/fguillen/.rvm/rubies/ruby-1.9.3-p286/bin/irb:16:in `<main>'
爲什麼不讓部分的調用者通過一切?部分是一種方法和方法定義了接口,如果有人調用方法而不提供接口要求的所有參數,則調用者將得到他們應得的錯誤。 –
完全@ muistooshort,我缺少的是[參數默認值功能](http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Method_Calls#Default_Values),但對於部分定義,這將是非常在這種情況下有幫助。 – fguillen
不幸的是,Rails喜歡假裝partials不是函數,所以你必須這樣做[愚蠢醜陋的方式](http://api.rubyonrails.org/classes/ActionView/Base.html#label-Passing+local+變量+到+子+模板)。還有一個類似的問題(甚至可能是重複的):http://stackoverflow.com/q/2060561/479863。恥辱,部分(和一般ERB模板)不是明確的功能(嗯,我在我年老的時候恢復到Lisp?哈!)。 –