2

私の(rails 3)アプリケーションはモデルとして使用collectionproductます。コレクションhas_many商品と商品belongs_toコレクション。

私はなんとか製品とモデルの間の相互作用を持つことができました。別のコレクションを表示するメニューを作成しました。特定のコレクションに属する製品のみを表示するビューを表示したい。

1)新しいビュー/コントローラーを作成する方がエレガントですか、それとも製品ビューで新しいビューを作成しますか?

2)routes.rbで何かしなければならないようですが、どのように、そして何をしますか?

3)コレクションの値を渡すためにどのlink_to引数を使用する必要がありますか?

4)私は本全体(実用的なROR)を読み、それにもかかわらず、多くのオンライン調査を行って、それほど複雑ではないRailsの質問を求めてここで終わります。私は何が間違っているのですか?

4

1 に答える 1

1
  1. コレクションコントローラーで新しいアクションを作成します。URLは次のようになります。

    / collections / 1 / products

    ここで、1はコレクションIDです。

  2. 私はあなたが持っていると思います

    リソースコレクション

    したがって、コレクションメンバーに「products」アクションを追加する必要があります。

    resources collections do
      member do
        get :products
      end
    end
    

    コンソールからrakeルートを実行して、アプリケーションルートがどのように見えるかを確認できます。

  3. リンクコードは次のようになります

    link_to "Collection products", products_collection_path(@collection)
    
  4. 私の意見では、読むことは大丈夫ですが、読んでいる間はたくさんの例を実行し、自分で書く必要があります。そうしないと、すぐに忘れてしまうからです。私が上で書いたものがあなたが読んだ本にあったことを100%確信しています。

于 2011-02-20T15:40:43.770 に答える