【发布时间】:2017-06-05 16:37:51
【问题描述】:
我对两个不同的页面有两个查询:
all_teams = Team.includes(:terms, :labs, people: [:schools], term_enrollments: [:lab])
current_teams = Team.includes(:terms, :labs, people: [:schools], term_enrollments: [:lab]).where(terms: {id: 3)
我正在尝试使用每个查询更新 term_enrollments。对于第一个查询,一切都很好。我对第一个查询执行此操作:
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 关系并显示每个实例的编辑表单。
【问题讨论】:
标签: ruby-on-rails activerecord rails-activerecord ruby-on-rails-5