开发者

nested resources in rails 3

开发者 https://www.devze.com 2023-03-26 11:00 出处:网络
My routes file is: resources :countries do resources :regions do resources :appartments end end models: Country: has_many :regions

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:

  1. create an instance variable in the regions show action as:

    @appartments = @regions.appartments

  2. create a partial _appartments.html.erb in the views/regions folder

  3. Somewhere within the regions/show.html.erb page, place this:

    <%= render @appartments %>

This should do the trick.

0

精彩评论

暂无评论...
验证码 换一张
取 消