🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.ruby
Article #1192

ActiveRecord + drzewo

#1192
From: zbyszek.malec
Date: Mon, 16 Feb 2009 19:48
45 lines
2251 bytes
Witam
Używam RoR i ActiveRecords od niedawna, więc nie mam jeszcze zbyt
dużego doświadczenia. Być może pytanie jest banalne, ale nie znalazłem
na nie odpowiedzi samodzielnie, więc pytam tutaj.

Mam taką migrację:

class CreateCategories < ActiveRecord::Migration
  def self.up
    create_table :categories do |t|
      t.string :name

      t.belongs_to :parent_category
    end
  end

  def self.down
    drop_table :categories
  end
end


i odpowiadający jej model:

class Category < ActiveRecord::Base
  belongs_to :parent_category, :class_name => 'Category'
  has_many   :subcategories, :class_name => 'Category'
end

Czyli mam drzewo kategorii, każda kategoria może mieć kategorię
nadrzędną oraz wiele kategorii podrzędnych.
Mój problem jest taki, że następujące wywołanie:

category = Category.new :name => 'cat'
subcategory = category.subcategories.build :name => 'subcat'

nie ustawia parent_category_id u podkategorii na ich rodzica. Czy da
się to osiągnąć deklaratywnie,
czy jestem zmuszony do ręcznej obsługi tej sytuacji?

Używam JRuby 1.1.4 i RoR 2.1.0.

--
Pozdrawiam
Zbyszek Malec
Technical Details
Message-ID: <6c73d4b9-ccf5-44be-a258-5cc7b94f6ced@j1g2000yqi.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!j1g2000yqi.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!j1g2000yqi.googlegroups.com!not-for-mail
From: zbyszek.malec@gmail.com
Newsgroups: pl.comp.lang.ruby
Subject: ActiveRecord + drzewo
Date: Mon, 16 Feb 2009 11:48:40 -0800 (PST)
Organization: http://groups.google.com
Lines: 46
Message-ID: <6c73d4b9-ccf5-44be-a258-5cc7b94f6ced@j1g2000yqi.googlegroups.com>
NNTP-Posting-Host: 212.76.37.218
Mime-Version: 1.0
X-Trace: posting.google.com 1234813720 9261 127.0.0.1 (16 Feb 2009 19:48:40 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Mon, 16 Feb 2009 19:48:40 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: j1g2000yqi.googlegroups.com; posting-host=212.76.37.218;  posting-account=b1O8nAoAAABWGUkfk6Zl9XcZFTrPwbgC
User-Agent: G2/1.0
X-HTTP-UserAgent: Opera/9.52 (Windows NT 5.1; U; pl),gzip(gfe),gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit