Rails 再 RailsAdmin 管理页面,如何只列出当前登录用户?

diguage · 2013年12月27日 · 最后由 diguage 回复于 2013年12月27日 · 2965 次阅读

最近再做一个网站,前期经历有限,使用 RailsAdmin 搭建了一个简单的后台管理页面。很简单方便。

但是,最近遇到了一个问题: 在后台添加一条记录时,如果该 Model 关联了 User 表,就会把所有 User 都列出来。如何才能只列出当前登录用户?

默认 seesion 是保存在浏览器那边的,所以除非你想什么办法,比如把登录的用户存到某个集合里,否则是做不到的

rails_admin 应该这么用:

在项目早期阶段,用来处理一些外围的、简单模型的增删查改。有自定义需求时要果断自写后台,有折腾 rails_admin 的工夫,自己写早就写好了!

当然你现在这个需求比较简单,是可以配置的,好像可以这样:

RailsAdmin.config do |config|
  config.model 'Xxoo' do
    list do
      field :users do
        visible do
          current_user
        end
      end
    end
  end
end

用任何 gem 之前,建议把它的 README、Wiki 和 Issues 浏览一遍,效率会高很多。

#2 楼 @xhj6 准备周末把 Wiki 都看看。这个 gem 不是我选的,不过这个问题让我来搞。哈哈

测试了,不是列表展示的适合的列。只再新建 Model 时,如果 Model 关联了用户 User,那么希望用户选择框里只有当前登录用户。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号