個人アプリ開発 写真投稿機能作成2

作業内容

修正 前回の続き

課題:新規作成ページで画像投稿フォームは複数用意することができたが、写真が1つしか保存されない

フィールドを複数作ればいいのかと思っていましたが、上手くいきませんでした。
上書きされるのか、最後の一つのみ保存される。

[_form.html.haml]
= f.fields_for :images, @group.images.build do |i|
      = i.file_field :image 
      = i.file_field :image
      = i.file_field :image
      = i.file_field :image

▶︎無理やりフィールドだけ並べたことが原因でした。
下記のように編集し、複数画像が無事保存されました。

[_form.html.haml]
= f.fields_for :images do |i|
      = i.file_field :image 
[groups_controller]
def new
    @group = Group.new
    4.times{@group.images.build}
end

newアクション内の@group.images.buildでgroupにネストしたimageを定義しておく。
4.timesとすることでビュー側で画像アップロードのフォームが4つ生成される。

記事詳細表示機能 CSS

ページにスタイルを当てて完了。
メイン画像が粗くなってしまい不安になりましたが、原因としてはケータイ画像だったせいのようです。
元サイズが表示サイズより小さかった。
参考:
HTMLで画像の画質が荒くなる原因と対処法を現役デザイナーが解説【初心者向け】 | TechAcademyマガジン

f:id:kobegoro:20200806082527p:plain