Ruby on Railsのフォームオブジェクトの関連付けについて質問があります。
accepts_nested_attributes_forを使わず、has_manyのレコードを保存するフォームオブジェクトを実装しております。
そこで、Viewファイルの方に、よく分からないエラーが発生してしまいます。
ソースコードの構造は以下の通りです。
Post_article.rb has_many :photos, class_name: "PostPhoto", dependent: :destroy, autosave: true
post_photo.rb belongs_to :post_article, optional: true
フォームオブジェクト class PostArticleForm include ActiveModel::Model def initialize(post_article = nil) @post_article = post_article @post_article ||= PostArticle.new (5 - @post_article.photos.size).times do @post_article.photos.build end end
post_articles_controller.rb def new @post_article_form = PostArticleForm.new end
new.html.slim = form_for(@post_article_form, as: 'form', url: :post_articles, html: { multipart: true }) do |form| == render "form", form: form = form.submit "投稿する"
_form.html.slim = form.fields_for :post_article, form.object.post_article do |f| = f.object.photos.each_with_index do | photo, index | = f.fields_for :photos, photo, index: index do |image| ここに「<PostPhoto::ActiveRecord_Associations_CollectionProxy:0x007fcf7755f2f0>」というエラーが表示される
上記のように設定するとViewのフォームに
「PostPhoto::ActiveRecord_Associations_CollectionProxy:0x007fcf7755f2f0」
というエラーが表示されてしまいます。
何故でしょうか??
大変お手数をお掛けしますが、どなたかご教授の方をよろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/03/30 22:55