Article View: pl.comp.lang.ruby
Article #940RoR: walidacja acts_as_tree
From: Piotr "Harry Lepper" Misiurek
Date: Fri, 22 Feb 2008 11:43
Date: Fri, 22 Feb 2008 11:43
20 lines
1889 bytes
1889 bytes
Witam,
Od przedwczoraj zastanawiam sie jak w RoR sprawdzić poprawność
parent_id dla modelu przedstawianego w formie drzewa (acts_as_tree).
Nie chcę, aby parament parent_id:
- był taki sam jak id danego rekordu - żeby sam sobie nie mógł być
rodzicem
- wskazywał na id rekordu, dla którego obecny rekord jest przodkiem
próbowałem to zrobić wczoraj tak, pełna improwizacja:
validates_each :parent_id do |record, attr, value|
record.errors.add attr, 'nie może wskazywać na samego siebie ani
na żadnego ze swoich potomków' if value == self.id or
Part.find(value).ancestors.include?(self.id)
end
O dziwo nie dostałem żadnych komunikatów o błędach, ale też walidacja
nie działa. Jak ją napisać poprawnie?
pozdrawiam,
Technical Details
Message-ID:
<75b6d8de-d09a-4924-b433-11e931a2cb05@n77g2000hse.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!news.germany.com!postnews.google.com!n77g2000hse.googlegroups.com!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!news.germany.com!postnews.google.com!n77g2000hse.googlegroups.com!not-for-mail From: "Piotr \"Harry Lepper\" Misiurek" <harrylepper@gmail.com> Newsgroups: pl.comp.lang.ruby Subject: RoR: walidacja acts_as_tree Date: Fri, 22 Feb 2008 03:43:43 -0800 (PST) Organization: http://groups.google.com Lines: 23 Message-ID: <75b6d8de-d09a-4924-b433-11e931a2cb05@n77g2000hse.googlegroups.com> NNTP-Posting-Host: 83.7.71.58 Mime-Version: 1.0 X-Trace: posting.google.com 1203680624 25152 127.0.0.1 (22 Feb 2008 11:43:44 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 22 Feb 2008 11:43:44 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: n77g2000hse.googlegroups.com; posting-host=83.7.71.58; posting-account=51nXewoAAACnvDPtTOQeWg6wEnhT8YqD User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20061201 Firefox/2.0.0.6 (Ubuntu-feisty),gzip(gfe),gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit