在我正在建设的网站的管理部分,我想整理一个仪表板页面,或“快速查看”类型页面,可以查看几个不同区域中的最新更改/添加/等。
我认为最好的方法是使用partials并让每个部分包含我需要显示的数据的标记。
我的问题是,这是最好的方法吗?如果是这样,我如何分离这些部分的逻辑和表示?例如,我如何将逻辑放在仪表板控制器中,但将演示文稿保留在部分rhtml中?
答案 0 :(得分:2)
部分肯定是要走的路,特别是当你可以将任意数据传递给它们以使它们完成任务时。要具体回答逻辑分离问题,您可以使用:
<%= render :partial => "name_of_partial", :locals => { :some_var => @data_from_model } %>
然后,在你的部分内部,你可以通过some_var变量访问@data_from_model。
答案 1 :(得分:1)
控制器应负责检索您需要呈现的数据(并且通常隐式地将其传递给视图)。在这里不构建HTML。
当然,部分是你想出演示文稿的地方 - 你可以把它变成一个列表,图形,谷歌可视化小部件,一个40磅字体的数字,等等。
<%= render :partial => 'new_users_last7days', ;locals => { :new_user_count => @new_users.size } %>