ActiveAdmin的DRY方法

时间:2015-07-24 22:51:01

标签: ruby-on-rails ruby activeadmin dry

我在ActiveAdmin中有许多共享的DSL代码;我已经研究了许多共享代码的方法,其中一些方法包括创建一个我包含在资源中的模块以及其他包含的模块,将路径添加到Active Admin初始化程序。

但是,我发现没有任何效果。我认为应该有一种简单的方法来在资源上共享相似的代码 - 而且通过代码它实际上是DSL,包括Arbre和其他领域特定的语言。

以下是我希望全面分享的各种事情:

 index do
   selectable_column
   id_column
   column :email
   column :current_sign_in_at
   column :sign_in_count
   column :created_at
   actions
 end


 filter :email
 filter :current_sign_in_at
 filter :sign_in_count
 filter :created_at


 menu false

 scope :active
 scope :inactive
 scope :all_items, :default => true

  member_action :toggle_activate, method: :get do 
  ...
  end

任何帮助将不胜感激。我绝对想成为一名干练的编码员。

1 个答案:

答案 0 :(得分:1)

如何将以下mixin包含在您的课程中:

module Foo
  def self.included(base)
    base.class_eval do
      # your shared code here
    end
  end
end