プログラミングは初めてですが、私はいくつかの素晴らしいことを成し遂げました。しかし、私の非伝統的なアプローチを考えると、私は時々、多くの仮定を含む「従来の」教えに不満を感じ、混乱することがあります。
だから私はレールを学び、その構造が好きですが、いくつかの用語は私を混乱させ、私はそれを理解しようとしましたが、頭を包むことができません。多くの人が私にレイアウトとレンダリングに関するRailsGuidesを参照し続けていますが、私はそれを完全には理解しておらず、全体的なレール構造のより広いコンテキストが欠けていると思います。
それで、全体的なプロセスと用語を説明するRailsの説明サイト/ドキュメント/ビデオ/ブック、より具体的には、Railsの処理と比較して、レイアウト、レンダリング、パーシャル、およびビューがどのように機能するかを説明するものを知っていますか?
詳細:
用語を相互に関連して理解しようとすると、用語が混乱します。たとえば、PJAX RailsCastを例にとると、Batesは、レイアウトとテンプレートの違いであることを明示的に示しています。このSOの質問を介してこれを達成しようとしているので、ファイルの従来の構造と名前付け、およびそれらの機能(すべての人ではなく、名前付けで過負荷になっているように見えるものだけ)に迷いました。
たとえば、applicaiton.html.erb
内のファイルを取り上げますviews/layouts
。そのファイルパスの場所は、それが「レイアウト」であることを示していますが_navigation.html.erb
、すべてのページがこれらを共有しているため、これらも同じレベルにありますが_left.html.erb
、 これらには先行する_underscoresがあります。ファイル名に含まれているため、Railsはこれらが「部分的」であることを認識しますが、フォルダー内およびフォルダー内にもあります。それで、それはどのような名前で通っていますか? _right.html.erb
views/layouts
application.html.erb
views
layout
上記の問題により、ファイルを適切に構造化していない可能性があるため、誰かが何について話しているのか理解できなくなります。スコープの問題(私の知る限り、電話をかけるなどの場合render 'action'
、render 'file'
レールは別のコントローラーのビューとアクションを見つけることができます)は、render
vs content_for
/の使用に影響しyield
ます。ここでの私のSOの質問を見てください。ジェフの回答で、「他のビューからの歩留まりを使用することはできませんか?」と尋ねたときの彼のコメントで、彼の答えは「それは確かに意図ではありません」でした。
ですから、元の質問に戻ると、これらは互いに関連しているので説明されているとは思いません。堅牢なアプリケーションを作成することに興味があり、他の小さなフレームワークでどのように実現できるかを理解していますが、レイアウト、パーシャル、テンプレート、およびビュー、およびそれに応じてファイルを構造化する方法。
また、それらを説明する用語の図または説明、ならびに他の(使用法、他の親/子)および従来の配置との関係もお願いします。これは次のようになります。
A view is what is presented to the user. It is comprised of several parts.
The following are required [ templates, layouts ].
These are not required, but very likely once you have a robust and
flexible program [ partials, yields/content_for ].
A layout is a framework ....
A Partial is content, but only "partial" of a page....
A rendered file is ... and is located in each model's view