app/controllers/spree/api/zones_controller.rb in solidus_api-1.0.7 vs app/controllers/spree/api/zones_controller.rb in solidus_api-1.1.0.beta1
- old
+ new
@@ -2,11 +2,11 @@
module Api
class ZonesController < Spree::Api::BaseController
def create
authorize! :create, Zone
- @zone = Zone.new(map_nested_attributes_keys(Spree::Zone, zone_params))
+ @zone = Zone.new(zone_params)
if @zone.save
respond_with(@zone, :status => 201, :default_template => :show)
else
invalid_resource!(@zone)
end
@@ -27,20 +27,24 @@
respond_with(zone)
end
def update
authorize! :update, zone
- if zone.update_attributes(map_nested_attributes_keys(Spree::Zone, zone_params))
+ if zone.update_attributes(zone_params)
respond_with(zone, :status => 200, :default_template => :show)
else
invalid_resource!(zone)
end
end
private
def zone_params
- params.require(:zone).permit!
+ attrs = params.require(:zone).permit!
+ if attrs[:zone_members]
+ attrs[:zone_members_attributes] = attrs.delete(:zone_members)
+ end
+ attrs
end
def zone
@zone ||= Spree::Zone.accessible_by(current_ability, :read).find(params[:id])
end