вторник, 23 октября 2007 г.

Динамическая смена layout

Вот здесь есть пример динамической смены layout (в разделе types of layouts)
http://api.rubyonrails.org/classes/ActionController/Layout/ClassMethods.html#M000131
В кач-ве задачки на изучение руби - как это работает?

2 комментария:

legrus комментирует...

Пока не могу ответить:)

legrus комментирует...

Да что тут хитрого - магия обычная, как она есть.

layout - это метод. Если ему дать символ - он поищет одноименный метод у контроллера и выполнит. Если дать строку скушает сразу.

proc принимает блок и возвращает символ - ссылку на этот блок как на метод.

Пока я не очень понимаю только идеи как работают вызовы методов внутри описания класса (все эти attr_reader и layout), но верю им на слово.