假设我有一个图像查看器部分,则向访问者和管理员显示图像查看器。管理员应该有其他按钮来删除/编辑图像,而访问者和管理员的其他所有内容都保持不变。什么是一个干净的方法保持观看DRY而不会在任何地方image_partial.html.haml
语句堵塞它们?
以下是我目前的做法:
.image
%img
if is_admin?
.admin-stuff-here
:
Times Called on Enquiry | ContractNumber | Enquiry | Percentage to Display
1 101 Claim 14.28%
1 101 Complaint 85.71%
2 101 Complaint 85.71%
3 101 Complaint 85.71%
4 101 Complaint 85.71%
5 101 Complaint 85.71%
6 101 Complaint 85.71%
在不重复相同标记的情况下,使用分离的视图(对于管理员/访问者)获得相同结果的干净方法是什么?
答案 0 :(得分:2)
如果所有管理功能都嵌套在单个DOM元素中(不会遍布整个HTML _image_partial.haml.erb
文件),则可以有条件地包含一些_admin_controls.haml.erb
部分。
将这些嵌套在目录中可能是有意义的。
- app/views/_image_viewer
|- viewer.haml.erb
|- admin_control.haml.erb
然后在_viewer.haml.erb
.image
%img
= render partial "_image_viewer/admin_control" if is_admin?