2012-02-02 7 views
5

私はMichael Hartlの本からRuby on Railsを学んでいます。私は本当にこの文章を、構造化され、明確に楽しんでいます。それにもかかわらず、私はRailsの3.0の間に3.3章の違いについて質問があるとRails 3.2のバージョン:Michael HartlのRails 3.0とRails 3.2の違いは

  • PagesControllerStaticPagesController
  • @Titleはもうコントローラに初期化されていないなりに、しかし、それぞれのページで
  • @Title変数は「提供」機能によって初期化され、単に挿入するのではなく「収穫」機能を使用して使用されます。<%= @title %>

rはRoR開発の最新のベストプラクティスですか?

+0

また、このチュートリアルの後に提供機能を使用することと混同しています。 – zsljulius

答えて

16

をPagesControllerはない理由はありませんStaticPagesController

になります。 PagesControllerは問題ありません。彼は分かりやすい理由でそれをやったのだろうか?

@Titleはもはやコントローラで初期化が、各ページ

でこれがベストプラクティス/コンベンション理由でされていません。 @Title変数は単純に挿入するのではなく、「歩留まり」機能を通じて「提供」機能によって初期化され、使用されているWhere does the meta content live in the MVC?

この質問に答えを見てみてください<% = @title%>

上記と同じ回答です。

タイトルなどのメタコンテンツはビューに属しているため、コントローラではなくビューに設定する必要があると考えるユーザーもいます。 providecontent_for

実用的な違いはよくここで説明されていますhttp://api.rubyonrails.org/classes/ActionController/Streaming.html#module-ActionController::Streaming-label-Communication+between+layout+and+template

を、これらの変更は、(Railsの3.1にstreamで紹介したprovideを除く)のRails 3.2に固有のものではありませんのでご注意ください。

関連する問題