2

はさんは言ってみましょう:ruby​​ on railsで複数のデータベーステーブルを1つのフォーム提出で更新することはできますか?

[Micropost] - >にhas_one - > [MicropostPhotoAlbum] - > has_manyの - > [MicropostPhotos]

Micropostは、1枚の写真を持っていた場合、それはMicropostPhotoAlbumを必要としないだろうと私は追加することができます"画像"の列をマイクロポストテーブルに追加し、搬送波でスムーズに動作させます。以下

私のフォームは正常に動作します:

= form_for @micropost, :remote => true do |f| 
     = f.file_field :image # Needed for image previewing with html5 file api 
     = f.hidden_field :user_id 
     = f.text_area :content 
     = f.submit "Post" 

を私がする必要があるだろうすべては私のmicropostモデルへのアップロードをマウントで、私が設定しているはずです。画像パスは、マイクロポストテーブル画像列に直接アップロードされる。 photo.png。

上記のように、各マイクロポストには写真はありませんが、代わりに多くの写真を含む1つのアルバムがあります。 image列の代わりにmicropost_album_id列があるので、私のフォームは見えません。

現在のフォームを使用して写真を写真のテーブルにアップロードし、マイクロポストのコンテンツを1回の投稿で投稿するにはどうすればよいですか?各マイクロポストに1枚の写真を作成することに戻す以外に、これ以外に簡単な方法はありますか?

種類は、これはnested attributesのための仕事のように見えます

答えて

2

について。

Hereは、フォームのネストされた属性に関する(古い、確かに)記事です。 fields_forが鍵です。

+0

これは素晴らしいです!その記事を読んで、すべてが即座にクリックされました。私はapiを読んで何が変わったのか、そしてこれがどのようにレールで達成されているのか見ています。ありがとう – LondonGuy

関連する問題