我有一個訂單對象,其中有一個創建方法是這樣的:如何在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