2

我的(rails 3)应用程序使用collectionproduct作为模型。收集has_many产品和产品belongs_to收集。

我设法在产品和模型之间进行交互。我创建了一个显示不同集合的菜单。我想显示一个仅显示属于特定集合的产品的视图。

1)创建新视图/控制器是否更优雅,或者我是否在产品视图中创建新视图

2) 看来我必须对 routes.rb 做点什么,但是怎么做?

3) 我必须使用哪些 link_to 参数来传递我的集合的值?

4)我读了一整本书(实用的 ROR),尽管如此,并且做了很多在线研究,但我一直在这里结束,询问不太复杂的 Rails 问题。我究竟做错了什么?

4

1 回答 1

1
  1. 我会在集合控制器中创建新动作。网址将如下所示:

    /collections/1/产品

    其中 1 是集合 ID。

  2. 我假设你有

    资源集合

    所以您需要为集合成员添加“产品”操作:

    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 回答