2012-01-31 3 views
2

私たちのレール3.1.0アプリケーションにはrfqと引用符のコントローラがあります。 Rfqは多くの引用符を持ち、belongs_to rfqを引用します。インデックス内のすべての引用をリストしたいので、ネストされたリソース(リソース:rfqs do ...)を使用することはできません。これで、rfq idをnew_quote_pathに渡すという課題に直面しています。これを達成する正しい方法は何ですか?本当にありがとう。rails 3.1.0で名前付きパスを使ってオブジェクトを渡す方法は?

+0

後でルーティング構造の例を挙げてください。ネストされたリソースを使用できないのはなぜですか? –

+0

リソースのようなネストされたリソースを使用している場合:rfq do resources:quotes end、インデックスはすべてのクォートをリストすることはできませんが、特定のrfqのクォートのみをリストすることはできません。 – user938363

答えて

2

ので

match "/rfqs/:id/quotes/:qoute_id" => 'rfq#show' 

が、その後のようなあなたの意見からそれにリンクのようにあなたがしたいコントローラにroutes.rbを中にパスを追加することができます。

href="/rfqs/<%=rfq.id%>/quotes/<%=qoute.id%>" 

とあなたのコントローラ

でそれを処理
if params[:id] && params[:qoute_id] 
    @rfq = RFQ.find(params[:id]) 
    @quote = Quote.find(params[:qoute_id]) 
end 

これは最も洗練されたソリューションではありませんが、それはうまく動作します。

+0

+1。一部の人々は、フレームワークに組み込まれているものを常に使用しなければならないと思っているようですが、それがあなたの望むやり方ではうまくいかない場合、「自分自身を動かす」ことは間違いありません。ダム"。 –

+0

rfq idをquoteコントローラに渡すことは可能ですか?new_quote_path(:rfqid => @ rfq.id)そしてparams [:rfqid]でquoteコントローラのrfqidを取得しますか?ありがとう。 – user938363

+0

試しましたか? –

関連する問題