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个城市,也会变得非常笨拙。有没有更好的办法?
答
您需要将资源添加到您的路线:
的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。
哦,顺便说一句,如果你想让人们回答你的问题,它可以帮助你接受一些问题的答案 – corroded 2012-02-28 16:35:41