Class: Spree::Admin::VariantGuestCardClassesController

Inherits:
ResourceController
  • Object
show all
Defined in:
app/controllers/spree/admin/variant_guest_card_classes_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'app/controllers/spree/admin/variant_guest_card_classes_controller.rb', line 8

def create
  variant_params = guest_card_class_params

  @product.variants.each do |variant|
    guest_card_class_id = variant_params[variant.id.to_s]

    if guest_card_class_id.blank?
      variant_guest_card_class = model_class.find_by(variant_id: variant.id)
      variant_guest_card_class&.destroy
      next
    end

    variant_guest_card_class = model_class.find_or_initialize_by(variant_id: variant.id)
    variant_guest_card_class.guest_card_class_id = guest_card_class_id

    variant_guest_card_class.save if variant_guest_card_class.changed?
  end

  flash[:success] = flash_message_for(@object, :successfully_created)
  redirect_to collection_url(@product)
end