カスタムルートを使用していますか?それとも、あなたはresources :users
ですか?より良い実行rake routes
。 /users/new
は通常はGETですが、オブジェクトをフェッチしているので意味があります。 create
アクションは唯一のPOSTで、/users
にマップします。 POSTとして/users/new
を実行すると、RESTが中断されます。
POSTデータはGETメソッドでは使用できません。任意のパラメータがURLのクエリ文字列に配置されます。これらのパラメータは、引き続きparams
ハッシュに表示されます。
を編集することは
あなたが実際にこのREST呼び出しを持つユーザーを作成しようとしている場合、あなたは、http://localhost:3000/usersにないhttp://localhost:3000/users/new
編集
残念ながら、私をPOSTする必要がありますフラッシュがPOSTリクエストを送信してどのようにあなたのパラメータが間違って来ないのかをあなたに伝える方法について十分に知らない。しかし、フォームにアクセスしようとしている場合は、間違いなくhttp://localhost:3000/users/newへのGETが必要です。あなたはGETをするときに変数をうまく拾うことができると言っていますよね?だからあなたはPOSTをする必要はありません。
ユーザがスコアを編集できないようにするには、コントローラの変数に値を保存し、ビューをレンダリングするときに、その値を編集不可能な要素に置き、無効になっているテキストボックスや、たぶんラベルのようなものです。
編集
あなたがレールにフラッシュから渡ってあなたのポストのデータを取得する方法を見つけ出すことができれば、あなたはusers_url
にPOSTを行う必要があります、そして、あなたが戻って送信するようにcreate
方法を変更することができます作成されたユーザーのID。それからあなたはそれを取り戻すと、スコアフィールドを無効のままにして、そのIDを持つユーザーを編集するために別の呼び出しを行うことができます。運が良かった。
':score'パラメータがコントローラで受信されていますか? 'users/new'アクションのビューに' debug params'を入れてコントローラをチェックインしてください。 – Zabba