Получение имени переменной экземпляра - PullRequest
3 голосов
/ 20 февраля 2009

Просмотр рельсов 2.3 Примечание к выпуску RC1 Я вижу это:

# Equivalent of render :partial => 'articles/_article', :object => @article
render @article

Так что каким-то образом render метод обнаруживает, что объект, переданный int, назначается переменной экземпляра с именем article. Как это сделать?

Ответы [ 2 ]

9 голосов
/ 20 февраля 2009

Фактически он определяет частичный путь, используя тип объекта (модель), а не имя переменной экземпляра. Так что, пока типом является Article, это будет работать, даже если переменная экземпляра - @ foo.

См. Код для ActionController :: RecordIdentifier.partial_path, чтобы узнать, как путь вычисляется из объекта.

1 голос
/ 20 февраля 2009

Дейв Рэй ответил правильно - Rails ничего не делает с именем переменной здесь. В общем случае, тот тип самоанализа, о котором вы спрашиваете, возможен с библиотекой ParseTree , но у нее есть проблемы с переносимостью (JRuby, Ruby 1.9 и т. Д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...