首页 > 解决方案 > ActiveModel::UnknownAttributeError(Order 的未知属性“order_itens_attributes”。):

问题描述

请帮助解决这个问题

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

和我的发帖请求

{
    "order":
    {
        "subsidiarie_id":1,
        "user_id":1,

        "amount":220,
        "order_itens_attributes": 
        [
            {
                "quantity":22

            }
        ]
    }

}

似乎这是 order_itens_attributes 的问题,但我不知道这是问题

标签: ruby-on-railsarraysjsonruby-on-rails-4

解决方案


http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html在这里阅读它基本上你需要设置

accepts_nested_attributes_for :order_itens

在您的订单型号上


推荐阅读