Rails Craiglist как список предметов - PullRequest
0 голосов
/ 28 февраля 2012

Итак, у меня есть модель состояния и модель города, связанные с has_many и assign_to. Я хочу отобразить страницу с каждым штатом и соответствующими городами внизу.

Я создал контроллер страницы и страницу под названием «Locations» и вручную ввел в

<%= link_to "Allentown", allentown_path %>

, после чего вы попадете на страницу Аллентауна.

На странице allentown я отфильтровал списки, добавив этот код в контроллер страниц

def allentown
  @title = "Allentown Listings"
  @tattoo_briefs = TattooBrief.where( :city_id => 1 ).find(:all, :order => "id DESC" )
end

Я знаю, что это не СУХОЙ. Также можно получить очень много, если у меня есть 200 городов. Есть ли лучший способ?

1 Ответ

1 голос
/ 28 февраля 2012

Вам необходимо добавить ресурс к вашим маршрутам:

routes.rb

resources :city

Это, по сути, дает вам все RESTful действия для модели City. Затем в вашем контроллере используйте действие show , чтобы ... дождаться его ... показать страницу своего города

cities_controller.rb

def show
  @city = City.find(params[:id])
  @title = "#{@city.name} Listings"
  @tattoo_briefs = TattooBrief.where( :city_id => params[:id] ).find(:all, :order => "id DESC" )
end

Вы все еще можете изменить это, изучив больше о маршрутах и ​​контроллерах из rails api. Обладая дополнительными знаниями, вы можете добраться до Аллентауна, изменив маршрут, используя вместо названия города название города.

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