Дай угадаю, ты пытаешься сделать что-то вроде этого:
class MyClass < Shoes
stack :width => 200 do
subtitle 'People who like ponies'
para 'TheTXI'
para 'Pesto'
para 'Einstein'
end
stack :width => -200 do
subtitle 'People who hate ponies'
para 'Hitler'
para 'Stalin'
para 'Einstein (He was bipolar)'
end
end
Ну, конечно, это не работает. para
, stack
, subtitle
и т. Д. - все это методы экземпляра, но вы пытаетесь вызывать их как методы класса. Они должны быть внутри метода экземпляра, например:
class MyClass < Shoes
url '/', :pony_list
def pony_list
stack :width => 200 do
subtitle 'People who like ponies'
para 'TheTXI'
para 'Pesto'
para 'Einstein'
end
stack :width => -200 do
subtitle 'People who hate ponies'
para 'Hitler'
para 'Stalin'
para 'Einstein (He was bipolar)'
end
end
end
Shoes.app :width => 400
Видите, как теперь все это в методе pony_list
? Конечно, мы должны сделать экземпляр, вызывающий метод. Как мы можем сделать это? Вот почему мы вызываем метод url
(который, в отличие от para
и его друзей, на самом деле является методом класса). Он устанавливает URL-адрес по умолчанию для вызова метода pony_list
. Помните, что вам нужно вызвать Shoes.app после определения класса, и все готово.