我有一个订单对象,其中有一个创建方法是这样的:如何在RoR对象中分配值?
def create
@order = Order.new(params[:order])
# @order.status_id = "1"
respond_to do |format|
if @order.save
flash[:notice] = 'Order was successfully created.'
format.html { redirect_to(@order) }
format.xml { render :xml => @order, :status => :created, :location => @order }
else
format.html { render :action => "new" }
format.xml { render :xml => @order.errors, :status => :unprocessable_entity }
end
end
end
我想设置的@order STATUS_ID为“1”,所以我有
@order.status_id = "1"
但是这个代码不起作用,取消注释后,它仍然不能在db中的status_id中保存“1”,但其他属性可以成功存储。
order.rb
class Order < ActiveRecord::Base
has_many :order_items
belongs_to :status
end
你是什么意思由不工作?新订单是否保存在数据库中,但其状态未设置为1?你可以发布你的模型的代码? – mikej 2010-01-27 13:18:40
我们可能也需要看模型。 status_id是外键吗?将它设置为整数(1)而不是字符串(“1”)会发生什么? – 2010-01-27 14:03:12