【问题标题】:Create a view using multiple models data使用多个模型数据创建视图
【发布时间】:2011-02-20 15:29:24
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: ruby-on-rails view controller link-to


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

      /collections/1/products

      其中 1 是集合 ID。

    2. 我猜你有

      资源集合

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

      resources collections do
        member do
          get :products
        end
      end
      

      您可以从控制台运行 rake 路由,以查看您的应用程序路由现在的样子。

    3. 链接代码应如下所示

      link_to "Collection products", products_collection_path(@collection)
      
    4. 在我看来阅读是可以的,但是当你阅读时你应该做很多例子,自己写,否则你很快就会忘记东西。我 100% 确定我上面写的东西在你读过的书中。

    【讨论】:

    • 事实上,我正在修改通过所有书籍开发的应用程序。我应该怎么称呼新的erb?
    • products.html.erb 并放在 /app/view/controllers
    猜你喜欢
    • 2020-02-26
    • 1970-01-01
    • 2018-07-30
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    相关资源
    最近更新 更多