几个角色授予的交易

时间:2011-11-11 15:34:38

标签: ruby-on-rails-3 activerecord transactions

有人可以帮助我将以下代码的行为作为一个事务吗?

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

1 个答案:

答案 0 :(得分:0)

可以使用ActiveRecord::Base.transaction将整个事物包装在一个块中。由于您通过execute发出命令,可能会出现问题,具体取决于您使用的数据库。 ActiveRecord::Transactions文档为MySQL列出了一个警告。

希望这有帮助!