2009-04-02 6 views
5

私は私の足場がレールアプリを作成して使用して、新しい「製品」を追加し、次の行が正常に新製品アクセスPOSTパラメータ

@product = Product.new(params[:product]) 

私は、次のURL(しようとしてを使用して新しい製品を追加しようと追加されますJavaプログラムからデータをPOSTする)。私は追加するには、レールのアプリを使用している場合、さらに、私を混乱させるために

@product = Product.new 
@product.serial=params[:serial] 
@product.value=params[:value] 
@product.save 

http://localhost:3000/products?serial=555&value=111 

製品が作成されていない、しかし私は、「シリアル」と、このような「値」の値にアクセスすることができます新製品、params[:serial]およびparams[:value]変数は空です。

誰かが正しい方向に向けることができますか?

おかげ

答えて

9

Model.new方法はハッシュを取ります。

params[:product]が実際に含まれてい{:serial => 555, :value => 111}

あなたが使用したいURLのようなものは次のとおりです。

http://localhost:3000/products?product[serial]=555&product[value]=111 

あなたを維持したい場合は

(あなたが実際にPOSTを使用していることを確認してください)現在のURLスキーム:

@product = Product.new({:serial => params[:serial], :value => params[:value]}) 

ます。また、使用してコンソールにそれを印刷してのparamsの内部で利用可能であるかを正確に判断することができます。

p params 

幸運を!

+0

ありがとうございました – brodie31k

関連する問題