0

私は以下の2モデルを持っています。

class Expression < ActiveRecord::Base

has_many :patterns, :foreign_key => "PTN_EXPRESSION_FK", :dependent => :destroy
accepts_nested_attributes_for :patterns, :allow_destroy => true

end



class Pattern < ActiveRecord::Base

belongs_to :expression, :foreign_key => :PTN_EXPRESSION_FK

end

(ネストされた属性を持つ) レコードを作成し、フォームを使用せずにテーブルに格納したいと考えています。

Expression.create(:EXP_VALUE  =>  @exp.val,
          :EXP_ADD_VALUE =>  @exp.add_val    
          )

上記のコードは式レコードを作成し、式テーブルに保存します。

また、上記のコードにパターン値を渡して、式が格納されると同時にパターン値がパターン テーブルに格納されるようにしたいと思います。

上記の「作成」コードでネストされた属性値を渡すにはどうすればよいですか?

ご提案いただきありがとうございます。

4

1 に答える 1

0

ネストされた属性は次のようになります。

Expression.create(:EXP_VALUE  =>  @exp.val,
      :EXP_ADD_VALUE =>  @exp.add_val,
      :patterns_attributes => [
        '0' => {:pattern_attr1 => ..., pattern_attr2 => ..., ...},
        '1' => {:pattern_attr1 => ..., pattern_attr2 => ..., ...},
        '2' => {:pattern_attr1 => ..., pattern_attr2 => ..., ...},
        ...
       ]
    )
于 2012-12-04T14:27:34.980 に答える