2011-02-04 12 views
2

私は二重の質問をしています。私があなたを助けてくれることを願っています。Rails Routes vs URLパラメータ

コンテキストのビットとして、私はRequestモデル/コントローラ/ビューの設定でレールアプリを持っています。これは、ユーザーが別のユーザーに要求を送信するために使用され、更新アクション内に2つの特定の機能(RESTfulを維持しようとする)を提供します。

は、だから私の質問は以下のとおりです。

  • まず、一般的に受け入れられているアプローチは、(この場合には受け入れるか、または低下は、両方のリクエストを更新している)特定のタイプのアクションにアクセスするためのURLを設定する何ですか?第2に、名前付きルートを使用している場合、どの名前付きルートがコントローラの呼び出しを担当したかをどのように判断できますか? request.url()など、実際のURL(例:/requests/11/accept)を確認するのに似ていますが、それは私にとって脆弱なアプローチのようです。私はこれを行う他の可能な方法を見つけようとしましたが、まともな方法を見つけることができません。

答えて

1

私は/ requests/11/accept to/requests/11?response = acceptを優先します。

受け入れと拒否は、要求リソースの状態を変更する動作であるため、単一のオブジェクトに対するPUT操作が適切です。あなたは以下のように、あなたのルートの設定でルートを定義することができます

resources :requests do 
    member {put :accept, :decline} 
end 

をあなたはあなたの答えに追加するには二つの経路

accept_request maps to {:action=>"accept", :controller=>"requests"} 
decline_request maps to {:action=>"decline", :controller=>"requests"} 
+0

を取得します、私はアクション/動詞である何かを考えますおそらくルートに属している(RESTfulな理想が意図していたもの)。どこが可変/形容詞なのか。 'page = 2'や' gender = male'はたぶんクエリ文字列です(一般的には一般的なものですが)。 – Azolo

関連する問題