我想知道我是否正确行事,或者是否有更好的方法:
在我的Rails应用程序中,我有页面,根据登录的用户,视图的某些方面可以更改该页面(它是处理这些更改的Javascript(即禁用复选框等)。
目前,我有application.html.erb文件在标有角色名称的页面添加div。 Javascript检查哪个div处于活动状态,并相应地执行Javascript。我对这种方法不太满意,所以我正在寻找一些替代方案。
我考虑过拥有单独的Javascript文件,并且只包含一些基于用户角色的文件,但这样就无法将我的所有Javascript整合到生产中的一个文件中(不是吗?)。
答案 0 :(得分:0)
您可以在用户模型中定义字段“角色”,例如:
class User
field role
is_admin?
role == :admin
end
end
并在您看来:
<% if current_user.is_admin? %>
<div class="one-code">
<% else %>
<div class="two-code">
<% end %>
当rails渲染视图时,只根据current_user角色渲染一个div。