は、あなたがこのような何かをしようとしている、私は推測してみましょう:
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
とは異なり、実際にはクラスメソッドです)と呼ばれています。これは、pony_list
メソッドを呼び出すデフォルトのURLを設定します。あなたがクラス定義の後にShoes.appを呼び出さなければならないことを忘れないでください。あなたはすべて設定されています。
それでした。説明ありがとう。私は何か愚かなことをしなければならないことを知っている。 'Nobody Knows Shoes'の例では、アプリを複数のページに分割する際にurlメソッドを使用する方法について説明していますが、私のようにurlメソッドを使用する必要があるかどうかはわかりませんでした。私はShoesクラスをサブクラス化する(そして、para、stackなどのメソッドを使用する)必要があるように見えます。 –