0

我有兩個不同頁的兩個查詢時獲得的ActiveRecord只讀錯誤。對於第一個查詢,一切都很好。我這樣做與第一個查詢:添加where子句

a = all_teams.first.term_enrollments.first 
a.update_attributes term: Term.find(2) 
=> true 

當我嘗試這樣做與第二個查詢,它不起作用。下面是我嘗試第二次查詢做代碼:

a = current_teams.first.term_enrollments.first 
a.update_attributes term: Term.find(2) 

但不是工作,它說:

ActiveRecord::ReadOnlyRecord: TermEnrollment is marked as readonly 

這些查詢的兩個都在控制器動作和飼料,通過ActiveRecord的循環頁關係並顯示每個實例的編輯表單。

回答

1

current_teams可能是在做一些join這在某些情況下會導致記錄變爲只讀。你可以解決這個問題

a = all_teams.first.term_enrollments.first.readonly(false) 
a.update_attributes(term: Term.find(2))