我刚刚开始使用 Active Admin Gem。我遇到了一点问题,想知道是否有人有解决方案。
我有两个模型
狗
饲养员
使用我的应用程序,我希望能够
- 查找狗的品种,然后在查看狗时会看到饲养员列表。
- 当我访问饲养员(显示页面)时,我希望能够看到他们拥有的狗品种。
我已经创建了模型,但我不确定如何完成任务,但是您尝试创建一个连接表
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
我正在努力研究如何在两个模型之间创建这种关联。预先感谢您。
最佳答案
# 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
我认为这就是您所需要的。请记住根据您的设置调整字段名称等。 :)
关于ruby-on-rails-3 - 活跃管理员 gem 模型协会。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7684254/