Я продолжаю получать: NoMethodError в StudentsController
undefined method `id_num=' for #<Array:0x105adcc98>
Я уверен, что в таблице есть id_num, и это происходит в контроллере:
Контролер студентов:
def student_test
@student = Student.find(params[:id]) if params[:id]
@student ||= Student.new
run_sequence :testize
end
def test_finalize
Student.transaction do
if @student.update_attributes(params[:student]) && @student.test!
x = @student.site_id
y = @student.testing_id
book = Book.find(:all, :conditions => ["location_id = ? AND testing_id = ?", x, y])
room = Room.new(:room_num => 5)
room.save
book.id_num = room.id #error occurs here. Book.new would work. But I need to do a find.
book.save
end
end
Это может показаться немного запутанным, но потому что, когда тест! метод вызывается в модели Student, студенту будет назначен test_id, я не могу
выполнять условие между учеником и книгой, пока ученику не будет назначено случайное значение testing_id. Так что книга должна быть идентифицирована после теста! Это
почему находка делается там.