活动管理宝石模型协会。

时间:2011-10-07 07:31:15

标签: ruby-on-rails-3 associations model-associations activeadmin

我刚开始使用Active Admin Gem。我有一点问题,我想知道是否有人有解决方案。

我有两个型号


育种

使用我的应用程序我希望能够

  1. 找到狗品种,然后在观看狗时有一份育种者名单。
  2. 当我访问育种者(显示页面)时,我希望能够看到他们拥有的犬种。
  3. 我已经创建了模型,但我不确定如何计算任务,但是你已经通过创建连接表进行了调整

    breeders_dogs加入表

    class BreedersDogs < ActiveRecord::Migration
       def self.up
       create_table 'breeders_dogs', :id => false do |t|
        t.integer :breeder_id
        t.integer :dog_id
      end
      end
    
    
       def self.down
      drop_table :breeders_dogs
      end
    
    end
    

    狗模型

    class Dog < ActiveRecord::Base
       has_and_belongs_to_many :breeders, :join_table => :breeders_dogs
    
    end
    

    种鸡模型

    class Breeder < ActiveRecord::Base
       has_and_belongs_to_many :dogs,  :join_table => :breeders_dogs
    end
    

    我试过了,但情况并不一样。 Using Rails Gem Active Admin with Associations

    我对如何在两个模型之间创建这种关联感到不安。提前谢谢。

1 个答案:

答案 0 :(得分:4)

# app/admin/dogs.rb


    show :title => [whatever field you want your title to be e.g. :dog_name] do

        panel "Dog Info" do
          attributes_table_for dog do
                row("..label..") { dog.fieldname }
                ...
              end
        end

        panel "List of Breeders" do
            table_for dog.breeders do |t|
                t.column("Breeder List") { |breeder| breeder.name }
            end
        end
    end


# Form Fields

form do |f|

    f.inputs "Dog Info" do
      f.input :inputname
      ...
    end

    f.inputs "Breeders" do
      f.input :breeders
    end
    f.buttons
end

我认为这就是你需要的。请记住为您的设置调整字段名称等。 :)