如何展示產品分爲三個部分設立的has_many(三種不同的過濾器,如:product_1,product_2,product_3),並需要從每個部分簡單的形式 - 選擇集合,並通過
提交後只能選擇一個產品。我應該爲一個訂單保存所有的產品。
我有4個表: 用戶 訂單 ORDER_DETAILS 產品
class Order < ActiveRecord::Base
has_many :order_details
belongs_to :user
has_many :products, through: :order_details
accepts_nested_attributes_for :order_details
end
class OrderDetail < ActiveRecord::Base
belongs_to :order
belongs_to :product
end
class Product < ActiveRecord::Base
has_many :order_details
has_many :orders, through: :order_details
def self.get_first_course
Product.where(product_type: "exem_product_1")
end
def self.get_main_course
Product.where(product_type: "exem_product_2")
end
def self.get_drink
Product.where(product_type: "exem_product_3")
end
end
我不知道如何寫強有力的params用於在這種情況下,如何創建對象的保存數據。
class OrdersController < ApplicationController
before_action :authenticate_user!
def index
@order = Order.new
#I think need something like this..?!
#@order.order_details.build
end
def create
end
private
def order_params
params.require(:order).permit(:date, :product_id => [])
end
end