有人可以帮助我将以下代码的行为作为一个事务吗?
params["user"]["userroles_attributes"].each do |key, value|
ActiveRecord::Base.connection.execute("GRANT " + params["user"]["userroles_attributes"][key.to_s]["role"] + " TO " + params["aioua"]["user_pk"])
end
答案 0 :(得分:0)
可以使用ActiveRecord::Base.transaction
将整个事物包装在一个块中。由于您通过execute
发出命令,可能会出现问题,具体取决于您使用的数据库。 ActiveRecord::Transactions文档为MySQL列出了一个警告。
希望这有帮助!