別テーブルで画像を管理、例えばuserとimagesテーブルで分けたい場合。

まずはimagesテーブルを作る。

Image でactsAsを宣言。belongsToでユーザとのリレーションを構築。
imagesテーブルのuser_idで紐付けたいので、foreingkeyはuser_idで。
画像格納パスは画像ID毎になる。(webroot/files/thumb/image_id/xxxx.jpgのようなかんじ)
‘pathMethod’をflatにすれば、全ての画像は’path’のディレクトリ配下に一括格納。

User モデルではhasManyでimageを。

同じくUserモデル内で画像登録用の関数を用意。

そしてuserContollerでaddするときに、上の関数を使う。

viewはこのように、モデルをhiddenで持たせておく。

複数登録させたいときは、Image.0.imageを増やしていけば良さそうだ。


Leave a Reply

Your email address will not be published. Required fields are marked *