创建嵌套资源

时间:2012-09-20 03:33:47

标签: ruby-on-rails ruby-on-rails-3.1 nested-resources

每次遇到同样的情况时,我都会遇到困扰我的问题。

如何创建嵌套资源..

我有以下回购

 https://github.com/abhishekdagarit/app-e-commerce.git

您可以克隆存储库并创建数据库以查看项目。

我需要在产品中添加类别..

 product
    belongs_to_and_has_many :categories

 category
    has_many :products

有谁能告诉我如何实现这一点才能正常工作...... 我在个别产品上添加了评论,但这花了我四个小时来实现......

这就是我通常做的......

  1). add the category model using 
       rails g model category category_type:string

  2). then add the has_to and the belongs_to_and_has_many in the models

  3). add the controller 
       rails g controller categories

  4). add the following lines in the categories controller
       class CategoriesController < ApplicationController
       def new
         @product = Product.find(params[:product_id])
         @category = @product.categories.build
         respond_with(@category)
       end
      def create
         @product = Product.find(params[:product_id])
         @category = @product.categories.create(params[:category])
         redirect_to product_path(@product)
      end
     end

现在问题是这些步骤似乎不起作用......

我需要有人帮我处理几行代码,以便创建嵌套资源......

2 个答案:

答案 0 :(得分:1)

您可以从导轨指南中找到Nested Resources

您是否尝试过以下嵌套资源?

resources :categories do
    resources :products
end

答案 1 :(得分:0)