私はfollowowsのように表示/ car.html.hamlに誰かのコードを見て:初心者の質問、ここで「収穫」は何を意味しますか?
%body
=yield
誰が私にここに「=利回り」の使用を説明できますか?
-実際の身体部分コードはどこにありますか?
それは意味し、はそれを使用するか、我々はそれを使用する必要がありますどのような状況で - なぜん - 何
?
私はfollowowsのように表示/ car.html.hamlに誰かのコードを見て:初心者の質問、ここで「収穫」は何を意味しますか?
%body
=yield
誰が私にここに「=利回り」の使用を説明できますか?
-実際の身体部分コードはどこにありますか?
それは意味し、はそれを使用するか、我々はそれを使用する必要がありますどのような状況で - なぜん - 何
?
通常、これはレイアウトファイル(デフォルトではviews/layouts/application.html.haml)に表示されます。現在のアクションのコンテンツをレンダリングするようにRailsに指示します。その場所はです。だから、
あなたとビュー/レイアウト/ application.html.hamlを持っている場合:
%body
=yield
そして、あなたが持つビュー/記事/ index.html.hamlがあります。そして、
%h1 This is the posts index page! :D
ときに投稿のインデックスページ(おそらく/ posts)をレンダリングするアクションに行くと、レイアウトファイルのyield
の位置にレンダリングされた見出しを持つhtmlが表示されます:
<body>
<h1>This is the posts index page! :D</h1>
</body>
これは、一般的なページナビゲーションマークアップやすべてのページに表示されるヘッダーなど、すべてのビューで正確なhtmlを再定義する必要がない場合に特に便利です。
あなたのサイトの別のセクションごとに異なるレイアウトを持っている場合は、このようなコントローラであなたのビューをレンダリングする可能性がありますどこレイアウトの指定されたレイアウト内でレンダリングされた指定されたビューを使用します
def index
if signed_in?
render :layout => 'application'
else
render 'user/unauthorized', :layout => 'external' and return
end
end
にyield
が発生します。ステートメントuser/unauthorized.html.haml
のelseでは、layouts/external.html.haml
レイアウト内でレンダリングされ、signed_in?あなたはlayouts/application.html.haml
レイアウト内にレンダリングされたposts/index.html.haml
ビューを取得します。
http://api.rubyonrails.org/classes/ActionView/Partials.html
上記の記事は、ドキュメントがERBであり、あなたがHAMLを扱っているので、構文は同じではありません、それは何を意味するのかを説明します。実際のボディーコードは、おそらく_body.html.haml部分にあります。
この定義済みの関数は、実際には関数を通常定義し、returnの代わりにyield文を使用して、この関数をイテレータとして扱うべきであることをインタプリタに示します。
yieldステートメントは関数を一時停止し、ローカル状態を保存して、中断した箇所からすぐに再開できるようにします。私たちは、この関数を呼び出します場合は、それが私たちの機能は、実際にジェネレータオブジェクトを返した
val = countdown(5)
>>> val
<generator object countdown at 0x10213aee8>
出力を与える
。したがって、ジェネレータ関数は以下のように異なる方法で呼び出されます。
ジェネレータオブジェクトは、next()が呼び出されたときに実行されます。
>>> next(val)
Starting
5
_default_により、 'application.html.erb' :) –