如果您的页面上有一个包含数据库信息的边表,并且您希望它出现在您的 RoR 应用程序的多个页面上。这应该怎么做?假设您在一个名为 LeftTableView 或类似的视图中输出这些数据。
现在,在“/products/”视图中,您想要显示此数据,并且您还希望在“/products/12”和“/friends/”等上显示它。
您如何渲染这个“部分”视图并仅使用原始控制器绑定数据库数据?或者......从每个控制器再次收集数据是否“更好”?
如果您的页面上有一个包含数据库信息的边表,并且您希望它出现在您的 RoR 应用程序的多个页面上。这应该怎么做?假设您在一个名为 LeftTableView 或类似的视图中输出这些数据。
现在,在“/products/”视图中,您想要显示此数据,并且您还希望在“/products/12”和“/friends/”等上显示它。
您如何渲染这个“部分”视图并仅使用原始控制器绑定数据库数据?或者......从每个控制器再次收集数据是否“更好”?
假设,如果您想在数据库导航中显示“类别”,请保留在 application_controller.rb
def navcategory
@navcategories = Category.all
end
在 products_controller.rb 和 friends_controller.rb 上,您只需使用 before_filter 调用 navcategory
before_filter :navcategory
和布局
<% @navcategories.each do |category| %>
....
....
....
<% end %>
你应该设置你的布局。尝试以下(无CSS)
# application layout
<body>
<div id='sidebar'>
... common content here
</div>
<div id='main'>
<%= yield %>
</div>
</body>