Как получить доступ к именам одной модели из отношений трех моделей? - PullRequest
1 голос
/ 09 октября 2011

Мне нужно распечатать в индексном представлении все элементы из определенного города в категории с идентификатором 2 (любым числом).есть экземпляр всех предметов в городе (как показано ниже), теперь я хочу отфильтровать их по категориям. Как это сделать? Это мой код ниже

    class CategoryController < ApplicationController
    def index
    @city= City.find(session[:city_id])
    @items=@city.items
    end
    end

индекс просмотра

     <%=@item.each do |item|%>
     <%=item.item_name%>
     <%end%>

Модели

       class City < ActiveRecord::Base
       has_many :items 
       end

       class Item < ActiveRecord::Base
   belongs_to :city
   belongs_to :category
       end

       class Category < ActiveRecord::Base
       has_many :items
       end 

1 Ответ

1 голос
/ 09 октября 2011

Контроллер: Вы должны быть в состоянии сделать что-то вроде:

@items = Item.find_by_city_and_category("city", "category")

или что-то вроде:

@items = Item.where(:category => "category", :city => "city")

Вид:

@items.each do |item|
 item.name
...