Ruby on rails 命名错误/未定义方法

Ruby on rails 命名错误/未定义方法,ruby-on-rails,Ruby On Rails,我不断得到:学生控制中的命名错误 undefined method `id_num=' for #<Array:0x105adcc98> 这可能看起来有点混乱,但因为当测试!方法在学生模型中被调用,学生将被分配一个测试id,我不能 在学生和书本之间执行一个条件,直到给学生分配一个随机测试id值。所以这本书必须在测试后确定!。那是 为什么会在那里发现 调用Book.find(:all)时,它将返回一组书籍。然后您尝试在该数组上设置一个id_num(当然,该数组没有这样的属性);大概你

我不断得到:学生控制中的命名错误

undefined method `id_num=' for #<Array:0x105adcc98>
这可能看起来有点混乱,但因为当测试!方法在学生模型中被调用,学生将被分配一个测试id,我不能 在学生和书本之间执行一个条件,直到给学生分配一个随机测试id值。所以这本书必须在测试后确定!。那是 为什么会在那里发现

调用Book.find(:all)时,它将返回一组书籍。然后您尝试在该数组上设置一个id_num(当然,该数组没有这样的属性);大概你只想找到一本书,然后在上面设置id_num。也许你只是想要Book.find(:first)?

当你调用Book.find(:all)时,它会返回一系列的书。然后您尝试在该数组上设置一个id_num(当然,该数组没有这样的属性);大概你只想找到一本书,然后在上面设置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