nested resources in rails 3
My routes file is:
resources :countries do
resources :regions do
resources :appartments
end
end
models:
Country: has_many :regions
Region: belongs_to :country, has_many :appartments
Appartment: belongs_to: region
Region_controller:
def index
@country = Country.find(params[:country_id])
@regions = @country.regions
end
def show
@country = Country.find(params[:country_id])
@region = @country.regions.find(params[:id])
end
Question:
I want开发者_如何学运维 to show appartments on the region page. What's the best practice in my region controller?
It would simply be:
@appartments = @region.appartments
If all you want to do is to show apartments within the regions show page, do the following:
create an instance variable in the regions show action as:
@appartments = @regions.appartments
create a partial
_appartments.html.erb
in theviews/regions
folderSomewhere within the
regions/show.html.erb
page, place this:<%= render @appartments %>
This should do the trick.
精彩评论