获取实例变量的名称

Ale*_*yne 3 ruby ruby-on-rails

浏览导轨2.3 RC1发行说明我看到了这个:

# Equivalent of render :partial => 'articles/_article', :object => @article
render @article
Run Code Online (Sandbox Code Playgroud)

因此,该render方法以某种方式找出传递给它的对象,它被赋值给具有名称的实例变量article.它是如何做到的?

Dav*_*Ray 9

它实际上使用对象的类型(模型)确定部分路径,而不是实例变量的名称.因此,只要类型是Article,即使实例变量是@foo,这也会起作用.

有关如何从对象计算路径的信息,请参阅ActionController :: RecordIdentifier.partial_path的代码.