名通過軌道展望2.3 RC1發佈說明我看到這一點:獲得一個實例變量
# Equivalent of render :partial => 'articles/_article', :object => @article
render @article
所以不知何故render
方法是找出所傳遞的int它被分配到與實例變量對象名稱article
。它是如何做到的?
名通過軌道展望2.3 RC1發佈說明我看到這一點:獲得一個實例變量
# Equivalent of render :partial => 'articles/_article', :object => @article
render @article
所以不知何故render
方法是找出所傳遞的int它被分配到與實例變量對象名稱article
。它是如何做到的?
它實際上使用對象(模型)的類型來確定部分路徑,而不是實例變量的名稱。所以,只要類型是Article,即使實例變量是@foo,這也是可行的。
有關如何從對象計算路徑的信息,請參閱ActionController :: RecordIdentifier.partial_path的代碼。
Dave Ray的回答是正確的 - Rails在這裏沒有對變量名做任何事情。在一般情況下,您所問的內省可能與ParseTree庫有關,但它具有可移植性問題(JRuby,Ruby 1.9等)。