0

私は次のような関係を持つ製品モデルを持っています:

has_many :product_images
has_many :product_specs

関係はうまく機能していて、私はそれについて満足しています。

新しい製品を作成するとき、製品の作成後にproduct_imageとproduct_specを保存するようにコントローラーを設定します。問題は次のとおりです。複数の仕様と製品画像が必要です。新しい製品のフォームに複数のproduct_imagesと複数のproduct_specsを追加し、製品の作成時にそれらすべてを一度に作成する方法はありますか?また、ユーザーは、追加する必要のある画像と仕様の数を決定します。

アドバイスをいただければ幸いです。

4

2 に答える 2

1

rubyonrails apiをもう少し深く読む必要があります;)リンク

class Member < ActiveRecord::Base
  has_many :posts
  accepts_nested_attributes_for :posts
end

属性ハッシュを使用して、関連付けられた投稿モデルの属性を設定または更新できるようになりました。

idキーを持たないハッシュごとに、ハッシュにtrueと評価される_destroyキーも含まれていない限り、新しいレコードがインスタンス化されます。

params = { :member => {
  :name => 'joe', :posts_attributes => [
    { :title => 'Kari, the awesome Ruby documentation browser!' },
    { :title => 'The egalitarian assumption of the modern citizen' },
    { :title => '', :_destroy => '1' } # this will be ignored
  ]
}}

member = Member.create(params['member'])
member.posts.length # => 2
member.posts.first.title # => 'Kari, the awesome Ruby     documentation browser!'
member.posts.second.title # => 'The egalitarian assumption of the modern citizen'
于 2013-02-08T18:57:48.107 に答える
1

nested formライアン・ベイツの宝石を見ることをお勧めします。それはまさにあなたが探しているものです。

ここにリンクがあります。そのためのRailscastはここにあります。

于 2013-02-08T18:51:24.703 に答える