推測させてください、あなたは次のようなことをしようとしています:
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 を呼び出す必要があることを忘れないでください。これで準備は完了です。