2014-12-27 76 views
0

我使用的是ActiveAdmin,我想使用嵌套模型。 我得到了一個小組和學生的模特,一羣has_many的學生。 我想要做的是當我創建一個組時,能夠在系統中添加現有的學生,並且能夠動態地使用數據表搜索它們。 我已有:使用現有數據的活動管理嵌套模型

class Group < ActiveRecord::Base 
has_many :students 
accepts_nested_attributes_for :students 
end 

class Student < ActiveRecord::Base 
belongs_to  :group 
end 

任何想法?

回答

0

創建一個連接表如下: -

rails g migration groups_students group_id:integer student_id:integer 

class GroupsStudents < ActiveRecord::Migration 
    def change 
    create_table :groups_students, :id => false do |t| 
     t.integer :group_id 
     t.integer :student_id 
    end 
    end 
end 

在組模式: -

attr_accessible :student_ids 
has_and_belongs_to_many :students 
accepts_nested_attributes_for :students 

在學生模式: -

has_and_belongs_to_many :groups 

看的文檔Active admin並註冊組模型: -

rails generate active_admin:resource Group 

在應用程序/管理/ groups.rb: -

form do |f| 
# f.semantic_errors 
    f.inputs "Groups" do 
    f.input :table_fields # To DO :: Add other fields 

    f.input :students, as: :check_boxes, collection: Student.all  
end 
f.actions 

+0

有任何一類= 「榜樣」 添加到這個表。這個想法是添加jQuery和自定義搜索。使用你的例子,我得到了以下錯誤:不能寫未知屬性'group_id'服務器說.... – LeoJ

+0

SQL(0.4ms)INSERT INTO「groups」(「book_id」,「created_at」,「date_end」,「 VALUE(?,?,?,?,?,?,?,?)[[「book_id」,1],[「created_at」,「__」,「 ,2014年12月30日星期二03:23:53 UTC +00:00],[「date_end」,2014年12月3日星期三],[「date_start」,2014年12月02日星期二],[「description」,「asdf」 ],[「professor_id」,1],[「study_center_id」,1],[「updated_at」,2014年12月30日星期二03:23:53 UTC +00:00]] (0.1ms)回滾事務 已完成500內部服務器錯誤27ms – LeoJ

+0

參數:{「utf8」=>「✓」,「authenticity_token」=>「xGjDErtO6fXo + PUoh/baAHupKmjq/5wWjjlzIfzROGc =」,「group」=> {「professor_id」=>「1」 date_start「=>」2014-12-02「,」date_end「=>」2014-12-03「,」study_center_id「=>」1「,」book_id「=>」1「,」description「=>」asdf 「,」學生_ids「=> [」「,」1「,」2「,」3「,」4「]},」commit「=>」保存組「} – LeoJ