2

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

我有两个模型


饲养员

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

  1. 找到狗的品种,然后在查看狗时有一个饲养员列表。
  2. 当我访问饲养员(显示页面)时,我希望能够看到他们拥有的犬种。

我已经创建了模型,但我不确定如何完成任务,但是你已经尝试通过创建一个连接表

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

我试过这个,但情况不一样。使用带有关联的 Rails Gem Active Admin

我正在为如何在两个模型之间创建这种关联而苦苦挣扎。先感谢您。

4

1 回答 1

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

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

于 2011-10-07T09:08:23.733 回答