Страницы для продуктов с определенной категорией в рубине на рельсах - PullRequest
0 голосов
/ 26 марта 2012

Привет! Я пытаюсь настроить категории на своем веб-сайте электронной коммерции, используя Ruby on Rails. Я хочу, чтобы на страницах были показаны товары из определенной категории, например, у меня есть футболка с категорией, поэтому все футболки показаны рубашки и т. д. В бэкэнде я могу установить категорию продуктов, поскольку я назначил внешний ключ category_id для таблицы продуктов, и связь в моделях для категории состоит в том, что она имеет много продуктов, а для моделей продуктов она принадлежит к категории. Что мне нужно сделать, чтобы показать товары из определенной категории?

Вот мой текущий код:

Контроллер магазина

class StoreController < ApplicationController
  skip_before_filter :authorize

  def index
    @cart = current_cart
    @products = Product = Product.search(params[:search]).paginate(:page => params[:page], :per_page => 6)
  end
end

Категория контроллера

class CategoriesController < ApplicationController
  # GET /categories
  # GET /categories.json
  def index
    @categories = Category.all

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @categories }
    end
  end

  # GET /categories/1
  # GET /categories/1.json
  def show
    @category = Category.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @category }
    end
  end
end

1 Ответ

0 голосов
/ 26 марта 2012

Насколько я могу судить, нет причин, по которым вы не можете использовать коллекции, предоставляемые Rails, когда вы указываете связь один-ко-многим:

@products = @category.products
...