У меня есть приложение для регистрации, которое регистрирует Participant
, которое затем можно поместить в Group
с другими участниками.Я использую ActiveAdmin, чтобы назначить их группам.
Когда я пытаюсь создать новую группу с использованием активного администратора, я получаю следующую ошибку:
«ActiveRecord :: RecordNotFound в Admin :: GroupsController # create» с этой дополнительной информацией:«Не удалось найти всех участников с« id »: (0, 0) (найдено 0 результатов, но искал 2)»
Я подумал, что, возможно, это потому, что я не сгенерировалконтроллера для моей модели пока нет.Однако при запуске генерации для контроллера я получил эту ошибку:
identical app/controllers/groups_controller.rb
route get 'groups/index'
route get 'groups/show'
route get 'groups/update'
route get 'groups/edit'
route get 'groups/create'
route get 'groups/new'
invoke erb
exist app/views/groups
identical app/views/groups/new.html.erb
identical app/views/groups/create.html.erb
identical app/views/groups/edit.html.erb
identical app/views/groups/update.html.erb
identical app/views/groups/show.html.erb
identical app/views/groups/index.html.erb
invoke test_unit
identical test/controllers/groups_controller_test.rb
invoke helper
The name 'GroupsHelper' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative and run this generator again.
Моя папка приложения содержит все необходимые файлы, поэтому я добавил @group = Group.new
к groups_controller
.
Вот мои модели:
# participant.rb
class Participant < ApplicationRecord
has_one :volunteer_detail, :dependent => :destroy, inverse_of: :participant
accepts_nested_attributes_for :volunteer_detail, :allow_destroy => :true
has_one :student_detail, :dependent => :destroy, inverse_of: :participant
accepts_nested_attributes_for :student_detail, :allow_destroy => :true
has_and_belongs_to_many :groups, join_table: :matchups
validates :last_name, presence: true
# validates :gender, inclusion: { in: %w(male female) }
validates :phone, presence: true
end
# group.rb
class Group < ApplicationRecord
has_and_belongs_to_many :participants, join_table: :matchups
end
Вот мой активный файл ресурса администратора для группы:
ActiveAdmin.register Group do
permit_params :description , participant_ids: []
form do |f|
f.inputs 'Group Details' do
f.input :description
f.input :participant_ids, as: :check_boxes, collection: Participant.pluck_all(:first_name, :last_name, :gender, :role, :id )
end
end
Я ищу, чтобы создать новый Group
запись с использованием формы в ActiveAdmin, которая использует записи из связанной модели Participant
.
В настоящее время я получаю сообщение об ошибке RecordNotFound.Это может быть связано с проблемами с контроллером, но я не уверен, как исправить проблему, возникшую при генерации контроллера, или это проблема.
Любое понимание моей проблемы будет оценено.