Ruby on rails ActiveRecord::AssociationTypeMismatch,但为什么?
这不是同名问题的重复 我将Rails4.0和Ruby2.0.0与Ember(和Ember数据)一起使用 My JSON以以下格式发布到OrdersController的Ruby on rails ActiveRecord::AssociationTypeMismatch,但为什么?,ruby-on-rails,ruby,json,activerecord,ember.js,Ruby On Rails,Ruby,Json,Activerecord,Ember.js,这不是同名问题的重复 我将Rails4.0和Ruby2.0.0与Ember(和Ember数据)一起使用 My JSON以以下格式发布到OrdersController的create操作: Parameters: {"order"=>{"status"=>"pending payment", "date"=>"5/11/2013", ... "user_id"=>11, "booking_id"=>8}} 其中,…是JSON中发送的其他属性的截断 我得到了上面的错误
create
操作:
Parameters: {"order"=>{"status"=>"pending payment", "date"=>"5/11/2013", ... "user_id"=>11, "booking_id"=>8}}
其中,…
是JSON中发送的其他属性的截断
我得到了上面的错误:返回一个Fixnum(整数),而不是关联的用户记录。我的订购型号:
class Order < ActiveRecord::Base
resourcify
belongs_to :user
belongs_to :booking, inverse_of: :orders
end
其中,…
是其他属性的截断
我知道我得到的错误是由于类型不匹配,但我不知道为什么。我还有其他一些模型使用相同的语法来构建记录关联,它们都没有返回类型不匹配
如果需要,请在OrdersController上执行创建操作:
# Strong Parameters (Rails 4)
def order_params
params.require(:order).permit(:status, :date, ... :user_id, :booking_id)
end
# POST /orders
# POST /orders.json
def create
@order = Order.create(order_params)
if @order.new_record?
render json: { errors: @order.errors.messages }, status: 422
else
render json: @order, status: 201
end
end
请帮忙
编辑:完全错误,根据请求(这是一个怪物,我正在使用Heroku):
完整订单创建方法:
# POST /orders
# POST /orders.json
def create
@order = Order.new(params[:order])
respond_to do |format|
if @order.save
format.html { redirect_to @order, notice: 'Order was successfully created.' }
format.json { render json: @order, status: :created }
else
format.html { render action: "new" }
format.json { render json: @order.errors, status: :unprocessable_entity }
end
end
end
请公布全部错误。完成,乡绅。有什么想法吗?你确定你的订单参数中没有:user
键吗?您可以看到,user=
的关联编写器在您的错误中被调用。您能否发布发布要创建的完整参数,以及订单参数的完整定义?
def order_params
params.require(:order).permit(:status, :amount, :date, :user_id, :booking_id, :billing_surname, :billing_firstnames, :billing_address, :billing_city, :billing_postcode, :billing_country, :delivery_surname, :delivery_firstnames, :delivery_address, :delivery_city, :delivery_postcode, :delivery_country, :crypt)
end
# POST /orders
# POST /orders.json
def create
@order = Order.new(params[:order])
respond_to do |format|
if @order.save
format.html { redirect_to @order, notice: 'Order was successfully created.' }
format.json { render json: @order, status: :created }
else
format.html { render action: "new" }
format.json { render json: @order.errors, status: :unprocessable_entity }
end
end
end