7.2 モデルとの関連

モデルに単一のファイルを添付する

モデルに単一のファイルを添付可能にするにはhas_one_attachedを使います。

以下の例ではPostにカバー画像を添付可能にする設定です。

class Post < ApplicationRecord
  has_one_attached :cover_photo
end

attachメソッドでファイルを添付する

モデルにファイルを添付するにはattachメソッドを利用します。

@post = Post.find(params[:id])
@post.cover_photo.attach(params[:cover_photo])

attached?メソッドでファイルの存在を確認する

attached?メソッドを利用することでファイルの存在を確認することができます。

@post = Post.find(params[:id])
@post.cover_photo.attached? # true

モデルに複数のファイルを添付する

モデルに複数のファイルを添付可能にするにはhas_many_attachedを使います。

以下の例ではPostに複数の本文画像を添付可能にする設定です。

class Post < ApplicationRecord
  has_many_attached :body_photos
end

attachメソッドでファイルを添付する

モデルにファイルを添付するにはattachメソッドを利用します。

@post = Post.find(params[:id])
@post.body_photos.attach(params[:body_photos])

attached?メソッドでファイルの存在を確認する

attached?メソッドを利用することでファイルの存在を確認することができます。

@post = Post.find(params[:id])
@post.body_photos.attached? # true

モデルに添付されたファイルを削除する

モデルから添付ファイルを削除するにはpurgeメソッドを使います。

@post = Post.find(params[:id])
@post.cover_photo.purge

results matching ""

    No results matching ""