0

Rails4 でツリー構造のシンプルな地理モデルを作成しようとしています。すべてのリージョンには 1 つの親リージョンがあり、多くの子リージョンを持つことができます。

class Region < ActiveRecord::Base
has_many :regions, belongs_to :region, dependent: :destroy
end

スキーマ:

create_table "regions", force: true do |t|
  t.string   "name"
  t.string   "description"
  t.integer  "region_id"
  t.datetime "created_at"
  t.datetime "updated_at"
end

残念ながら、そのようなコードは機能しません。私は何をすべきか?

4

3 に答える 3

1

自己結合関係を探していると思います。これを試して :

class Region < ActiveRecord::Base
  has_many :child_regions, class_name "Region", foreign_key: "parent_id" dependent:   :destroy      
  belongs_to :parent, class_name: "Region"  
end

parent_idスキーマにもa が必要です。ありがとう

于 2013-08-22T10:18:52.103 に答える
0
class Region < ActiveRecord::Base
  has_many :regions, dependent: :destroy
  belongs_to :region
end

もちろん、テーブルにはregion_id整数列も必要です。regions

于 2013-08-22T10:13:09.597 に答える