1

我正在使用 Ruby on Rails 3.2.2,我想“处理”/“生成”正确的前端内容,以便遵循主要基于当前用户“平等”管理菜单项的“通用”方式。也就是说,我想显示不同的菜单项

  • 当前浏览的页面;
  • 正在访问该页面的当前用户(该页面可能与不是当前用户的用户相关)。

在哪里(例如,在控制器、视图或模型文件中)以及如何(例如,在控制器、视图或模型文件中说明与当前用户相关的检查)我应该“声明”/“放置”那些“条件语句”?


此时认为(主要是与当前浏览页面有关的问题)我可以通过使用辅助方法直接在控制器中处理这个问题......

4

1 回答 1

0

我倾向于将其放入 View 文件中,将简单或静态案例编码到 View 文件中,而更复杂的案例则需要不止一行编码到帮助程序中。

但为了不使视图文件膨胀,我建议使用部分从视图文件中卸载代码块。

我使用视图的原因之一是无论如何我都会进行某些基于用户的格式化,例如,如果我列出所有订单,那么普通用户会看到显示的某些列,而如果管理员登录,他会看到一对的附加列。这通常是用类似的东西完成的

<%if @curreny_user_type == 'admin'%><td> ...... </td><%end%>

因此,在我现在开始将一些基于用户的逻辑拆分到控制器中并将其他逻辑拆分到视图中之前,我宁愿将它们始终放在同一个地方。

于 2012-08-07T09:31:23.610 回答