Rails创建多个动作如何创建关联?

时间:2012-01-21 14:35:15

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

在我的控制器中我有:

def create_multiple
  @taletid = Taletid.find(params[:taletid_ids])
  if params[:delete_button]
   delete_multiple(params)
  else
  @taletid.each do |taletid|
  Taletid.create(taletid.attributes)
  end
  respond_to do |format|
    format.html { redirect_to(:admin_taletids, :notice => "Konkurrancerne er nu slettet") }
    format.xml  { head :ok }
    end
  end
end

taltids和pakkes之间存在has_and_belongs_to_many关系

但是这个动作不会产生任何关于orginial taletid的关联。

如何为新对象创建关联?

1 个答案:

答案 0 :(得分:0)

如果它是多对多关系,则存在连接表,并且属性与关联无关。

你可以试试。

@taletid.each do |taletid|
  t = Taletid.new(taletid.attributes)
  t.pakkes += taletid.pakkes
  t.save
end