Как я могу перечислить все записи, которые принадлежат другой записи на странице шоу? - PullRequest
0 голосов
/ 12 июня 2011

У меня есть таблица мест и таблица областей, где место принадлежит области, а область имеет много мест.

Как я могу показать все места, которые принадлежат области, когда я просматриваю страницу показа областей?

Я думал, что это будет работать:

область show.html.erb:

<%= area.venue.name %>, or
<%= area.venue.name, :collection => @area.venues %>

маршруты:

resources :areas, :has_many => :venues

но выдает ошибку "неопределенная локальная переменная или метод` area '"или синтаксическую ошибку.

Я супер новичок в любом программировании и рельсах, что я делаю не так?

Кроме того, у меня частично настроено место проведения, но оно отображается в другой части моего приложения, я просто хотел бы, чтобы названия мест отображались без использования партиалов.

Большое спасибо за любую помощь, она очень ценится!

1 Ответ

3 голосов
/ 12 июня 2011

Во-первых, не могли бы вы показать нам свой areas_controller.rb файл, пожалуйста?

Внутри вашего представления вы можете сделать это, выполнив:

<% @area.venues.each do |venue| %>
  <%= venue.name %>
  # etc.
<% end %>

Это означает, что внутри вашего контроллера областей у вас есть действие show, которое создает экземпляр переменной @area.

Что-то вроде:

def show
  @area = Area.find(params[:id])
end

И, между прочим, не помещайте ваши модельные отношения в файл rout.rb! Вы должны поместить их в свои модели.

Area.rb

class Area < ActiveRecord::Base
  has_many :venues
end

Venue.rb

class Venue < ActiveRecord::Base
  belongs_to :area
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...