2
在軌批量更新我有兩個型號:如何做的habtm協會
#user.rb
has_and_belongs_to_many :groups
#group.rb
has_and_belongs_to_many :users
我想組用戶,使得many users can be associated to many groups
關聯。
應用程序的前端側正在將user_ids
和group_ids
發送到更新方法。
因此,在UsersController
,我找到了每個用戶,並將該用戶與組關聯。
def update
users = User.where(id: [325, 326])
users.each { |user| user.update(group_ids: [1, 2])}
end
我需要知道更新關聯記錄的標準方式以及更新關聯記錄的最有效方式是什麼?
update_all不起作用。雖然我試過你的解決方案,但我得到這個錯誤。 「ActiveRecord :: StatementInvalid:PG :: SyntaxError:ERROR:語法錯誤處於或接近」2「 LINE 1:UPDATE」users「SET」group_ids「= 1,2 WHERE」... ^ :UPDATE 「users」SET「group_ids」= 1,2 WHERE「users」。「deleted_at」IS NULL AND「users」。「id」IN(325,326)' – PrajaktaC
您的模型有哪些列? –
需要更新在連接表中:'groups_users'。'User'表中的列是'name','description'和'Group'表具有'name','description'。 – PrajaktaC