Article View: pl.comp.lang.ruby
Article #915Re: walidacja modelu w przypadku has_and_belongs_to_many
From: Paweł Kondzior
Date: Wed, 30 Jan 2008 07:32
Date: Wed, 30 Jan 2008 07:32
36 lines
2438 bytes
2438 bytes
Dnia 1/29/08 3:21 PM, Piotr 'piter' Hlawski napisał(a):
> Jaroslaw Zabiello wrote:
>
>> On Sun, 27 Jan 2008 23:18:31 -0000, RaW <rafal@wrzochol.net> wrote:
>>
>>> class Role < ActiveRecord::Base
>>> has_and_belongs_to_many :rights
>>> end
>>>
>>> W jaki sposób mogę wykonać 'validates_presence_of' dla 'role.rights'?
>> Nie używaj HABTM, jest niezalecane. Lepiej używać has_many w połączeniu z
>> :through. The Rails Way uważa, że tak jest lepiej, masz wtedy prawdziwy
>> model i więcej możliwości.
>>
>
> Uważam, że do przesada. Nie zawsze prawdziwy model "po drodze" jest
> potrzebny.
>
Ja sie pod tym podpisuje, The Rails Way is not the only one Way, czasami
chodzi tylko o skojarzenie dwoch modeli tabela laczacal i niczym wiecej.
Teraz moze sprobuje odpowiedziec jakos na pytanie, wydaje mi sie ze
presence_of bedzie korzystac tylko z lokalnych atrybutow, wiec musisz
albo napisac wlasny validator albo przeciazyc "validate" i tam umiescic
kod sprawdzajacy self.rights oraz kod dodajac komunikaty o bledzie. Lub
uzyc validates_each :jakis_istniejacy_atrybut ktory ma byc
odpowiedzialny za role.rights, masz tutaj przyklad z aplikacji wziety
validates_each :publish_in_all do |record, attr, value|
record.errors.add attr, _('News must be published somewhere')
unless self.intranet_items.any?
end
Technical Details
Message-ID:
<fnp9ik$ojh$1@nemesis.news.tpi.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailReferences:
<d3eadb5f-68bc-448f-a7c4-4ef395c49552@i29g2000prf.googlegroups.com> <op.t5o0ezulr2rg33@macbook-pro-zbiru.local> <1978646.8dMPzUgjSc@zatoichi.homeunix.org>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: Paweł Kondzior <kondzior.p@gmail.com> Newsgroups: pl.comp.lang.ruby Subject: Re: walidacja modelu w przypadku has_and_belongs_to_many Date: Wed, 30 Jan 2008 08:32:49 +0100 Organization: tp.internet - http://www.tpi.pl/ Lines: 37 Message-ID: <fnp9ik$ojh$1@nemesis.news.tpi.pl> References: <d3eadb5f-68bc-448f-a7c4-4ef395c49552@i29g2000prf.googlegroups.com> <op.t5o0ezulr2rg33@macbook-pro-zbiru.local> <1978646.8dMPzUgjSc@zatoichi.homeunix.org> NNTP-Posting-Host: gdt146.internetdsl.tpnet.pl Mime-Version: 1.0 X-Trace: nemesis.news.tpi.pl 1201678741 25201 83.12.97.146 (30 Jan 2008 07:39:01 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Wed, 30 Jan 2008 07:39:01 +0000 (UTC) User-Agent: Thunderbird 2.0.0.9 (Macintosh/20071031) In-Reply-To: <1978646.8dMPzUgjSc@zatoichi.homeunix.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit