Я изо всех сил стараюсь получить эту работу. У меня есть три моделивложенные рельсы формы 4 сохранить существующую запись при создании
- Студент
- Classroomattnd
- Класс
Использование has_many: через отношения. Все мои отношения определены правильно, и я установил вложенную форму, используя accepts_nested_attributes.
Итак, при создании нового ученика я хочу выбрать из списка классных комнат вместо создания нового класса. Часть формы также отлично работает, часть, которую я не получаю, - это когда я создаю ученика, который жалуется на следующую ошибку.
Не удалось найти Classrooom с ID = 3 для Student с ID =
Я искал вокруг в течение нескольких дней в настоящее время, но не может получить ответ, мне нужно, чтобы получить эту работу.
def new
@student = Student.new
@student.classrooms.build
end
def edit
end
def create
@student = Student.new(student_params)
respond_to do |format|
if @student.save
format.html { redirect_to @student, notice: 'Student was successfully created.' }
format.json { render :show, status: :created, location: @student }
else
format.html { render :new }
format.json { render json: @student.errors, status: :unprocessable_entity }
end
end
end
Может кто-то помочь здесь, кто-то должен столкнуться с этим вопросом раньше?
Кроме того, в консоли рельсы, когда я бегу следующие его работы:
classroom = Classroom.last
student = Student.create(name: 'Dave', classrooms:[classroom])
Выглядит из этого пустого идентификатора, как будто вы не получаете студенческие поля. Как определяется «student_params»? Я ожидаю увидеть нечто большее, чем params [: student]. – elc
Параметры ученика определены ниже в контроллере: def student_params params.require (: student) .permit (: name, classrooms_attributes: [: id,: name]) end @elc – Waqas