うめぼしジョイスティック - ivoice

CakePHP、JavaScript、jQuery等のプログラミングについて書いていきます 思考は、うめぼしのように硬く、そして柔らかく。

ACLが原因!?データがsaveできない、AclNode::node() - Couldn't find Aro node identified by "Array ( [Aro0.model] =>の対処法

CakePHP2.x系で Aclプラグインを使っていて saveをするときに、

AclNode::node() - Couldn't find Aro node identified by "Array (
[Aro0.model] => ......

Error: An Internal Error Has Occurred.

というエラーが出たときの対処法です。

データベースを見てみてください。

保存するテーブルのカラムに、createdはありますか?

createdがない場合はsaveでこのようにエラーが出てしまいます。

テーブルのカラムにcreatedを追加しましょう。データ型はDATETIMEで大丈夫です。

同様にして、modifiedも追加しておきましょう。 こちらのデータ型もDATETIMEです。

以上で、エラーが消えます。 ACLが原因ではなかったんですね。

saveをするテーブルには modifiedとcreated を必ず付けるようにしましょう!

2015年/9/16 追記

deleteを行う場合、このやり方でもエラーが出る場合がありました。現在原因を検証中です。

追記:2015年/9/16 原因が分かりました。こちらの記事で解説しています。