【问题标题】:Create two navigation link for single table in rails_admin gem在 rails_admin gem 中为单个表创建两个导航链接
【发布时间】:2016-04-25 09:34:57
【问题描述】:
我有一个名为 User 的表。
我有两种记录:
1) 公司
2) 代理
字段名称是 is_agency?(布尔值)。如果是代理则为真,如果为公司则为假。
我想在管理端将 User 表显示到两个不同的表 Corporation 和 Agency。我使用了 rails_admin gem。
如何使用“is_agency”进行区分?领域?
我查看了 rails_admin gem 文档,但没有找到任何相关信息。
请帮我找出这个解决方案,它将节省我的时间。
【问题讨论】:
标签:
ruby-on-rails
ruby
ruby-on-rails-3
ruby-on-rails-4
rails-admin
【解决方案1】:
您可以按照此处所述创建自定义操作:https://github.com/sferik/rails_admin/wiki/Custom-action
例如
# in lib/rails_admin/agency.rb
require 'rails_admin/config/actions'
require 'rails_admin/config/actions/base'
module RailsAdmin
module Config
module Actions
class Agency < RailsAdmin::Config::Actions::Base
RailsAdmin::Config::Actions.register(self)
register_instance_option :controller do
Proc.new do
@objects = Project.where(is_agency: true)
render "index"
end
end
register_instance_option :collection do
true
end
register_instance_option :link_icon do
'icon-th-list'
end
end
end
end
end
然后你必须将它添加到 rails_admin.rb 初始化器
config.actions do
dashboard # mandatory
index
agency do
only ['User']
end
然后对 Corporation 执行相同的操作。
不要忘记将翻译添加到语言环境 rails_admin.en.yml
另一种方法是使用作用域:
https://github.com/sferik/rails_admin/wiki/List
在文本中搜索范围。
希望这会有所帮助,
最好的祝福,
爱奥尼斯