Rails:基于用户角色的Javascript

时间:2013-10-08 06:35:19

标签: javascript ruby-on-rails-3 devise

我想知道我是否正确行事,或者是否有更好的方法:

在我的Rails应用程序中,我有页面,根据登录的用户,视图的某些方面可以更改该页面(它是处理这些更改的Javascript(即禁用复选框等)。

目前,我有application.html.erb文件在标有角色名称的页面添加div。 Javascript检查哪个div处于活动状态,并相应地执行Javascript。我对这种方法不太满意,所以我正在寻找一些替代方案。

我考虑过拥有单独的Javascript文件,并且只包含一些基于用户角色的文件,但这样就无法将我的所有Javascript整合到生产中的一个文件中(不是吗?)。

1 个答案:

答案 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。