Карта покупок не работает. Что делать? - PullRequest
0 голосов
/ 20 июня 2020

Я сделал модель удобрения как семена, но когда я нажимаю «добавить в карту», ​​ничего не происходит. Я сгенерировал миграцию, чтобы добавить «удобрение_ид» в «элементы_порядка».

Модели:

class Fertilizer < ApplicationRecord
    mount_uploader :image, ImageUploader
    has_many :order_items
end

class OrderItem < ApplicationRecord

belongs_to :order
belongs_to :fertilizer
belongs_to :seed

before_save :set_unit_price
before_save :set_total


def unit_price
    if persisted?
        self[:unit_price]
    elsif
        fertilizer.price
    elsif
        seed.price
    end
end


def total
    unit_price.to_f*quantity.to_f
end


private

def set_unit_price
    self[:unit_price] = unit_price 
end

def set_total
    self[:total] = total * quantity
end


end

class Seed < ApplicationRecord
  mount_uploader :image, ImageUploader
  belongs_to :product
  has_many :order_items

end

Здесь я добавил к контроллеру OrderItem удобрение_id в параметры

контроллер:

    class OrderItemsController < ApplicationController


   def create
        @order = current_order
        @order_item = @order.order_items.new(order_params)
        #binding.pry
        @order.save
        session[:order_id] = @order.id
    end

    def update
        @order = current_order
        @order_item = @order.order_items.find(params[:id])
        @order_item.update_attributes(order_params)
        @order_items = current_order.order_items
    end

    def destroy
        @order = current_order
        @order_item = @order.order_items.find(params[:id])
        @order_item.destroy
        @order_items = current_order.order_items
    end

    private

    def order_params
        params.require(:order_item).permit(:seed_id, :fertilizer_id, :quantity)
    end
end

вид семян:

    .main-content
  .site-content-inner.detail-product
    .container
      .row
        / Main content
        #primary.content-area.col-xs-12.col-sm-12.col-md-12
          #main.site-main
            .product-single
              .product-content-single
                .row
                  .col-sm-5
                    .single-product-media
                      = image_tag(@seed.image_url , width: 400, height: 500)
                      
                  .col-sm-7
                    .single-product-content
                      %h1.product-title= @seed.name

                      %p
                      .product-desc= @seed.description
                      = form_for @order_item, remote: true  do |f|
                        = f.hidden_field :seed_id, :value => @seed.id
                        = f.number_field :quantity, :value => 1, :min => 1
                        = f.submit "Add to cart"

вид удобрения:

 .main-content
  .site-content-inner.detail-product
    .container
      .row
        / Main content
        #primary.content-area.col-xs-12.col-sm-12.col-md-12
          #main.site-main
            .product-single
              .product-content-single
                .row
                  .col-sm-5
                    .single-product-media
                      =image_tag(@fertilizer.image_url)
                      
                      
                  .col-sm-7
                    .single-product-content
                      %h1.product-title= @fertilizer.name
                      = form_for @order_item, remote: true  do |f|
                        = f.hidden_field :fertilizer_id, :value => @fertilizer.id
                        = f.number_field :quantity, :value => 1, :min => 1
                        = f.submit "Add to cart"

Посмотри, пожалуйста, потому что я не знаю, где проблема

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...