AFAIK вы не можете обновлять такие модели на рельсах, вам придется сделать это следующим образом:
params[:drop_ship_order_line_items].each do |key,value|
DropShipOrderLineItem.find( key ).update_attributes( value )
end
EDIT
Возможно, где-то в вашем коде есть вызов attr_protected, вы должны проверить, какие атрибуты там защищены или нет.
Если вы считаете, что можете безопасно проигнорировать защиту на этом конкретном вызове, вы можете использовать некоторую отправку, чтобы отработать магию (отказ от ответственности: это самостоятельно, я просто показываю возможность):
params[:drop_ship_order_line_items].each do |key,value|
ship = DropShipOrderLineItem.find( key )
value.each do |property,value|
ship.send( "#{property}=", value )
end
ship.save
end
Это преодолеет защиту атрибутов, но вы должны убедиться, что это безопасный вызов, и вы не собираетесь обжечь себя, выполнив .