使用Ruby on Rails创建与州,省,区和城市的关联

时间:2014-07-14 15:58:22

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 model ruby-on-rails-3.2

请帮助我,这是Ruby on Rails中的第一个问题

我的应用程序有4个模型州,省,区&城市。

app/models/state.rb
 Class State < ActiveRecord::Base
 has_many :provinces
end

app/models/province.rb
 Class Province < ActiveRecord::Base
 belongs_to :state
 has_many :districts
end

app/models/district.rb
Class District < ActiveRecord::Base
 belongs_to :province
 has_many :cities
end

app/models/city.rb
 Class City < ActiveRecord::Base
 belongs_to :district
end

我的schema.rb我将外键添加到表。

我的问题是?

如何显示此类链接 domain.com/state/2/province/4/district/6/city/4 ??

2 个答案:

答案 0 :(得分:0)

将资源嵌套在两层以上通常不是一个好习惯。

但如果您真的想这样做,请将其添加到路线。

resources :states do
  resources :provinces do
    resources :districts do
      resources :cities
    end
  end
end

然后你可以使用路径助手

state_province_district_city_path(@state, @province, @district, @city)

如果

,这将给/state/2/province/4/district/6/city/4
@state.id # => 2
@province.id # => 4
@district.id # => 6
@city.id # => 4

答案 1 :(得分:0)

添加您的控制器状态

@state = State.new
@state.province_id = (params[:province_id])