我是 Ruby on Rails 的新手,我来自 Drupal/PHP 背景。
我正在尝试做一些简单的事情。一些页面的“静态”控制器,如关于我们、免责声明等,以及视频的“视频”控制器。
整个应用程序具有相同的外观。我试图弄清楚如何避免重复视图。
在drupal中,主题是这样的:html.tpl.php(渲染page.tpl.php)-page.tpl.php(渲染多个block.tpl.php)-block.tpl.php(渲染更多嵌套的tpls或一些html由主题函数生成)。
我觉得这很棒。
在rails中,我读到的是application.html.erb(我认为它类似于Drupal的html.tpl.php,因为它通常包含整个应用程序中可用的样式表、js等)称为“布局”。然后是“视图”,它在此布局中“产生”内容。我们在控制器中指定视图,或者它会自动获取一个。我认为视图是 Drupal 的“page.tpl.php”。
我的大部分网站都使用相同的结构,即页眉、顶部菜单、内容、右侧边栏、页脚。但是每个区域的内容会根据路径而变化。所以我正在考虑这样做:
- “静态”和“视频”都将调用相同的视图,具有不同的变量值,即内容区域和侧边栏的值。
- 此视图将使用“渲染”来渲染另一个视图,其中包含从控制器传递的变量子集,即它将渲染内容和侧边栏视图。
- 如果需要,这些视图将呈现更多视图,依此类推。
我读到的另一个是partials。我似乎无法区分在另一个视图中渲染视图和渲染部分视图。
哪种方法更好?还是有更好的“Rails Way”?