我有了很多很多的關聯Rails的可變數據正在改變
學生 項目
通過表student_projects
student = Student.find(1)
old_projects = student.projects
#Now Iam calling function that will create projects
create_projects
student = Student.find(1)
new_projects = student.projects
newly_added_projects = new_projects - old_projects
舊項目是空連接的兩個表,new_projects不
我把創建之前和之後的記錄器語句(new_projects = students.projects),然後我可以看到di fference。
但是當我後,方可行(newly_added_projects = new_projects - old_projects)記錄器語句檢查old_projects,new_projects,newly_added_projects
然後old_projects等於new_projects
有人可以幫我在這
Rails試圖推遲數據庫訪問,直到實際需要的數據。我不確定Rails 3的行爲如何,但我的猜測是'old_projects = student.projects'不會返回一個數組,而是返回某種代理。並且這兩個查詢都是在調用'-'後執行的(所以兩者都返回相同的結果)。嘗試通過添加'to_a'來執行查詢,即'old_projects = student.projects.to_a' – Stefan
您正在使用的是什麼Rails版本? – Mohanraj
Stefan - 感謝您的工作 –