我学习belongs_to的关联,我已经使用以下机型,在每一个订单属于客户的,所以我用belongs_to的,以模型,可以给错误而创造秩序可以belongs_to的工作没有的has_many或HAS_ONE
未定义的方法'订单为#
- 当我使用的has_many
:订单的客户模型,可以正常工作,为什么它 不只是belongs_to的
工作
它与has_many的工作:在客户模型中的订单,但不与 has_one:订单在客户控制器它给出相同的上述错误。
在此先感谢。
型号: - order.rb
class Order < ActiveRecord::Base
belongs_to :customer
attr_accessible :order_date, :customer_id
end
型号: - customer.rb
class Customer < ActiveRecord::Base
attr_accessible :name
end
控制器: - orders.rb
def create
@customer = Customer.find_by_name(params[:name])
@order = @customer.orders.new(:order_date => params[:orderdate])
respond_to do |format|
if @order.save
format.html { redirect_to @order, notice: 'Order was successfully created.' }
format.json { render json: @order, status: :created, location: @order }
else
format.html { render action: "new" }
format.json { render json: @order.errors, status: :unprocessable_entity }
end
end
end
好的谢谢。它的工作正确的Belongs_to has_many,但在belongs_to has_one的情况下,它会给出错误: - 未定义的方法'新'.. @order = @ customer.order.new(:order_date => params [:orderdate]); @ order.save; –