最初のRailsプロジェクトでは、Ryan BatesのNifty Generatorを使用して初期アプリケーションファイルを作成しました。これは私のタイトル法にLayoutHelper
与える:私のホームページビューでNifty Generators LayoutHelper Issue
def title(page_title, show_title = true)
@content_for_title = page_title.to_s
@show_title = show_title
end
を、私はシンプルなタイトルがあります。
<%= title "Welcome" -%>
をそして最後に、私のレイアウトで(application.html.erb
)、私が持っている:
<%- if show_title? -%>
<h1><%=h yield(:title) %></h1>
<%- end -%>
<%= yield %>
私が見ているのは、私のタイトル「ウェルカム」とそれに続く値show_title
です。私は前者を望むが、後者は望んでいない。私はブール値が暗黙的に返されている理由を理解していますが、私はそれが表示されることを期待していませんでした。ブール値の表示は、プライマリコンテンツyield
の一部として表示されているようです。
yield
コマンドは、まだ本当に(私はそれを得る、それは理にかなっている場合、私はちょうどは、にそれを得ることはありません)まだ私のためにクリックされていないので、私は誰かがなぜブール私が理解するのに役立ちます願っています私はそれを止めることができますどのように印刷されています。その答えは、直接問題を解決することに加えて、yield
がどのように機能するかを理解するのに役立ちます。
ありがとうございました。
私は実際にどこの場所でも 'content_for'コールをやっていないのにテンプレートが' yield(:title) 'を呼び出すのは混乱していますが、インスタンス変数を設定しています。たぶん、私は収量がどのように働くかを十分に理解していないでしょう。うまくいけば、ベイツ氏自身がここに足を踏み入り、これを手伝ってくれるでしょう:) – theIV
Rubyについての私の知識は、それほど厄介な、気づいている段階ですが、LayoutHelperのtitleメソッドは値を設定します@content_for_titleのために。利回りが適切に設定されていないのでしょうか、それとも何か不足していますか? –