ruby-on-rails-3 - 在两个事件的管理类中使用相同的模型

标签 ruby-on-rails-3 activeadmin

我正在为大型生产应用程序开发 ActiveAdmin 应用程序。我目前正在尝试对两个 activeadmin“实体”使用相同的模型。

所以,说我有

class Person < ActiveRecord::Base

  scope :special, where(:is_special => true)
  scope :ordinary, where(:is_special => false)

end

我可以做类似的事情吗
ActiveAdmin.register Person, :name => "Special People" do

  # columns, filters for special people

  controller do
    def scoped_collection
      Person.special
    end
  end  

end

ActiveAdmin.register Person, :name => "Ordinary People" do

  # columns, filters for ordinary people

  controller do
    def scoped_collection
      Person.ordinary
    end
  end  

end

(我在这里稍微编造语法来解释我想要做什么。)

这两种类型的人将显示为菜单项和 ActiveAdmin.register 块中定义的不同 CRUD 界面。他们只会有相同的基础模型。

最佳答案

事件管理员模型代码:

   ActiveAdmin.register Person, as: "Special People" do
      scope :Special, default: true do |person|
        person = Person.special
      end

      controller do
        def scoped_collection
          Person.special
        end
      end
    end

    ActiveAdmin.register Person, as: "Ordinary People" do
      scope :Ordinary, default: true do |person|
        person = Person.ordinary
      end

      controller do
        def scoped_collection
          Person.ordinary
        end
      end
    end

现在在路线:
match '/admin/special_people/scoped_collection/:id' => 'admin/special_people#scoped_collection'

match '/admin/ordinary_people/scoped_collection/:id' => 'admin/ordinary_people#scoped_collection'

尝试进行上述更改。希望这能解决您的问题。谢谢。

关于ruby-on-rails-3 - 在两个事件的管理类中使用相同的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12243744/

相关文章:

ruby-on-rails - 具有 mongoid 的许多对象的 update_attributes

ruby-on-rails-3 - 如何使用 rake 检测失败的单元测试

ruby-on-rails - 事件管理员 habtm 新按钮文本更改

ruby-on-rails - Ruby:如何根据可变数量在 Active Admin 面板中将单词复数/单数化(Active Admin,rails 3.2,ruby)

ruby-on-rails-3.1 - 轨道 ActiveAdmin : Incorrect breadcrumb

javascript - Rails 与 kaminari 无限滚动,事件未触发

javascript - 在 rails 中打印东西(字面意思是打印机)

ruby-on-rails - Ruby/Rails 应用程序测试 - 模拟 Http 服务/响应

css - ActiveAdmin 和其他自定义 CSS 文件

ruby-on-rails - 带参数的 Rails 事件管理范围