2014-12-27 3 views
0

Я использую ActiveAdmin, и я хочу использовать вложенные модели. У меня есть группа и студенческие модели, группа has_many студентов. Что я хочу сделать, когда я создаю группу, чтобы добавить существующих студентов в систему, а также иметь возможность динамически искать их для ex с datatables. Что у меня уже есть:Active Admin вложенная модель с существующими данными

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 », date_start "," description "," Professor_id "," study_center_id "," updated_at ") VALUES (?,?,?,?,?,?,?,?) [[" book_id ", 1], [" created_at " , Вт, 30 дек. 2014 03:23:53 UTC +00: 00], ["date_end", ср, 03 дек. 2014], ["date_start", вт, 02 декабря 2014], ["description", "asdf" ], ["Professor_id", 1], ["study_center_id", 1], ["updated_at", Tue, 30 Dec 2014 03:23:53 UTC +00: 00]] (0.1ms) транзакция отката Завершено 500 Внутренняя ошибка сервера в 27 мс – 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 "=>" Save Group "} – LeoJ

Смежные вопросы