Ruby on Rails は初めてで、Drupal/PHP のバックグラウンドを持っています。
私は何か簡単なことをしようとしています。私たちについて、免責事項などのいくつかのページ用の「静的」コントローラーと、ビデオ用の「ビデオ」コントローラー。
アプリケーション全体の外観は同じです。ビューの重複を避ける方法を見つけようとしています。
Drupal では、テーマは次のようになります。テーマ関数によって生成されます)。
これは素晴らしいと思います。
Railsで読んだのは、「レイアウト」と呼ばれるapplication.html.erb(通常、アプリケーション全体で利用可能なスタイルシート、jsなどが含まれているため、Drupalのhtml.tpl.phpに似ていると思います)です。次に、このレイアウトでコンテンツを「生成」する「ビュー」があります。コントローラーでビューを指定するか、自動的にビューを取得します。ビューは Drupal の「page.tpl.php」と考えます。
私のサイトのほとんどは、ヘッダー、トップ メニュー、コンテンツ、右サイドバー、フッターなど、同じ構造を使用しています。ただし、各エリアの内容はパスによって異なります。そこで、次のようにしようと考えています。
- 'Static' と 'Video' の両方が同じビューを呼び出しますが、変数の値は異なります。つまり、コンテンツ エリアとサイドバーの値が異なります。
- このビューは、「render」を使用して別のビューをレンダリングし、コントローラーから渡された変数のサブセットを使用します。つまり、コンテンツとサイドバー ビューをレンダリングします。
- 必要に応じて、これらのビューはさらに多くのビューをレンダリングします。
私が読んだもう1つはパーシャルです。ビューを別のビュー内にレンダリングすることと、部分的にレンダリングすることを区別できないようです。
どの方法が良いですか?それとも、より良い「Rails Way」がありますか?