2011-11-11 8 views
0

次のコードの動作を1つのトランザクションとして行う手助けができますか?複数の役割付与のためのトランザクション

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

ActiveRecord::Base.transactionとブロック内の全部をラップすることが可能です。使用しているデータベースによっては、executeでコマンドを発行しているので問題が発生する可能性があります。 ActiveRecord::Transactionsのマニュアルには、MySQL用の警告が記載されています。

希望すると便利です。

関連する問題