我在 MacOSX 上使用 RoR 3.1 + Postgres
在我的创建函数中,我有这个:
def create
@power_plant_substrate = PowerPlantSubstrate.new(params[:power_plant_substrate]) <= 1
@trade = params[:power_plant_substrate][:trade]
respond_to do |format|
if @power_plant_substrate.save
...
end
(1) 应该用 params[:power_plant_substrate] 实例化一个新对象
问题:
在创建我的新对象@power_plant_substrate 之后,一些属性可用。
如果我检查 params[:power_plant_substrate] 值(跟踪到控制台),我可以验证所有字段是否已正确传递:
{"power_plant_id"=>"161", "substrate_id"=>"213", "quantity"=>"1", "periodicity"=>"yearly", "trade"=>"wanted", "price_per_unit"=>"0.00", "total_price"=>"0.00", "currency"=>"USD", "address"=>", Reserved", "transport"=>"pickup_only", "description"=>"afewrqe", "latitude"=>"", "longitude"=>""}
但是我在保存后立即检查了我的对象(@power_plant_substrate.save)。不再分配“贸易”属性。
我尝试在我称为 after_create 的方法中访问模型中的相同属性,但同样的问题。
但是,该记录在数据库中正确分配的所有字段都可用。
为什么@power_plant_substrate 对象在保存后没有出现“完全”分配?
希望你能帮忙。