【问题标题】:Rails: Javascript based on user roleRails:基于用户角色的 Javascript
【发布时间】:2013-10-08 06:35:19
【问题描述】:

我想知道我这样做是否正确,或者是否有更好的方法:

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

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

我曾想过拥有单独的 Javascript 文件,并且只包括一些基于用户角色的文件,但这消除了将我所有的 Javascript 合并到一个生产文件中的能力(不是吗?)。

【问题讨论】:

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


    【解决方案1】:

    您可以在用户模型中定义一个字段“角色”,例如:

    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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-13
      • 2011-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-21
      • 2021-09-21
      相关资源
      最近更新 更多