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 回答