1

我试图创建一个HBTM协会和创建记录,当我创建像这样我的订单:不能大规模指派保护属性HABTM记录

顺序控制器:

def create 
    @order = Order.create(params[:order]) 

    @order.adresses.new(:order_id => params[:id],:adress_id => params[:adress_id]) 
    if @order.save 
     redirect_to orders_path,:notice => "Compra criada com sucesso !" 
    else 
     redirect_to orders_path,:notice => "Compra nao criada com sucesso cheque os erros e tente novamente !" 
    end 
    end 
在我的订单模型

和我ADRESS型号:

order.rb 
    has_and_belongs_to_many :adresses 
adress.rb 
    has_and_belongs_to_many :orders 

正确的,但我创建了一个模型,并收到此错误:

Can't mass-assign protected attributes: adress_id, order_id 

,所以我创建模型adresses_orders.rb丝毫这样的:

attr_accessible :order_id,:adress_id 

但连续我不明白是因为什么

Can't mass-assign protected attributes: adress_id, order_id 

回答

0

HABTM不需要之间的额外模型的误差(adresses_orders) 。桌子就够了。

@order.address.new 

应该足够了。关联足够聪明,可以为你填写地址ID和订单ID。

1

添加attr_accessible :order_id,:adress_id在adress.rb不是在adresses_orders.rb

而且无需定义adress_orders.rb,如果可能的话将其删除

+0

感谢这帮助我。 – overallduka 2013-03-03 16:41:47

+0

如果有帮助,那么你应该接受答案。 – 2013-03-03 16:42:55

相关问题