Rails Craiglist喜欢的项目列表

Rails Craiglist喜欢的项目列表

问题描述:

所以我有一个与has_many和belongs_to关联的状态模型和城市模型。我想显示一个页面,其中包含每个州的相关城市。Rails Craiglist喜欢的项目列表

我创建了一个页面控制器和页面称为“位置”和

<%= link_to "Allentown", allentown_path %> 

,然后带您到阿伦敦页手动输入。

在阿伦敦页我通过将此代码添加到页面控制器

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

我知道这是不干燥过滤列表。如果我有200个城市,也会变得非常笨拙。有没有更好的办法?

+1

哦,顺便说一句,如果你想让人们回答你的问题,它可以帮助你接受一些问题的答案 – corroded 2012-02-28 16:35:41

您需要将资源添加到您的路线:

的routes.rb

resources :city 

这基本上是给你所有的城市模型中的REST风格的动作。然后,在你的控制器,使用显示为it..show行动to..wait你的城市页面

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 

您仍可以通过学习更多的航线和控制器修改此从轨道API。有了更多的知识,你可以通过修改你的路线来使用城市名称而不是id,从而到达allentown。