ActiveModel::UnknownAttributeError(订单的未知属性 'order_itens_attributes'。):
ActiveModel::UnknownAttributeError (unknown attribute 'order_itens_attributes' for Order.):
请帮忙解决这个问题
ActiveModel::UnknownAttributeError (unknown attribute 'order_itens_attributes' for Order.):
控制器中的mi代码
def create
@order = Order.new(order_params)
if @order.save
render json: @order, include: [:user,:order_itens], status: :created, location: @order
else
render json: @order.errors, status: :unprocessable_entity
end
end
private
def order_params
params.require(:order).permit(
:user_id, :subsidiarie_id, :amount, :start_time,
:arrive_time, :delivered_time, :cancel_time,
order_itens_attributes: [:quantity])
end
我的模特order.rb
class Order < ApplicationRecord
belongs_to :user
belongs_to :subsidiarie, optional: true
has_many :order_itens
end
型号order_iten.rb
class OrderIten < ApplicationRecord
belongs_to :order, optional: true
belongs_to :product, optional: true
end
和我的 post 请求
{
"order":
{
"subsidiarie_id":1,
"user_id":1,
"amount":220,
"order_itens_attributes":
[
{
"quantity":22
}
]
}
}
这似乎是 order_itens_attributes 的问题,但我不知道这是问题所在
http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html 在这里阅读基本上你需要设置
accepts_nested_attributes_for :order_itens
在您的订单型号上
在order.rb
中添加
accepts_nested_attributes_for :order_itens
请帮忙解决这个问题
ActiveModel::UnknownAttributeError (unknown attribute 'order_itens_attributes' for Order.):
控制器中的mi代码
def create
@order = Order.new(order_params)
if @order.save
render json: @order, include: [:user,:order_itens], status: :created, location: @order
else
render json: @order.errors, status: :unprocessable_entity
end
end
private
def order_params
params.require(:order).permit(
:user_id, :subsidiarie_id, :amount, :start_time,
:arrive_time, :delivered_time, :cancel_time,
order_itens_attributes: [:quantity])
end
我的模特order.rb
class Order < ApplicationRecord
belongs_to :user
belongs_to :subsidiarie, optional: true
has_many :order_itens
end
型号order_iten.rb
class OrderIten < ApplicationRecord
belongs_to :order, optional: true
belongs_to :product, optional: true
end
和我的 post 请求
{
"order":
{
"subsidiarie_id":1,
"user_id":1,
"amount":220,
"order_itens_attributes":
[
{
"quantity":22
}
]
}
}
这似乎是 order_itens_attributes 的问题,但我不知道这是问题所在
http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html 在这里阅读基本上你需要设置
accepts_nested_attributes_for :order_itens
在您的订单型号上
在order.rb
中添加
accepts_nested_attributes_for :order_itens