🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Zmiana wartości dla całego obiektu

#718
From: Radarek
Date: Tue, 27 Nov 2007 14:28
33 lines
1695 bytes
Bober pisze:
> Witam!
> Mam obiekt ActiveRecord.
> 
> Chciałbym zmienić wartości wszystkich artybutów.
> 
> Robi tak:
> // Post - obiekt AR
> 
> @invo = Post.find(params[:id])
> @a = @invo.attributes
> 
> @a.each { |m, n|
>       @invo.m = "nowa_wartosc"
> }

Spróbuj tak:
        @invo.send(m + '=', "nowa_wartosc")

(brzydko ale wiem jak to chciałeś zrobić, więc to jest poprawka by 
zadziałało)
> 
> jednak otrzymuje undefined method `m='
> 
> Jak dostać się do wszystkich artybutów obiektu?

Jeśli chcesz zmienić tylko atrybuty (bez automatycznego zapisywanie) i 
masz hash z z atrybutuami i ich wartościami (np params) to możesz to 
zrobić tak:

@post.attributes = hash

a potem jeśli uważasz to za stosowane @post.save.
Technical Details
Message-ID: <fih9hv$s0t$1@bobo.ds5.agh.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!localhost!not-for-mail
References: <02150983-c65d-4b3f-aca0-40e0df553b55@n20g2000hsh.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!localhost!not-for-mail
From: Radarek <radarrek@poczta.fm>
Newsgroups: pl.comp.lang.ruby
Subject: Re: Zmiana wartości dla całego
 obiektu
Date: Tue, 27 Nov 2007 15:28:15 +0100
Organization: News serwer at news.ds5.agh.edu.pl
Lines: 33
Message-ID: <fih9hv$s0t$1@bobo.ds5.agh.edu.pl>
References: <02150983-c65d-4b3f-aca0-40e0df553b55@n20g2000hsh.googlegroups.com>
NNTP-Posting-Host: 192.168.128.44
Mime-Version: 1.0
X-Trace: bobo.ds5.agh.edu.pl 1196173695 28701 192.168.128.44 (27 Nov 2007 14:28:15 GMT)
X-Complaints-To: abuse@localhost
NNTP-Posting-Date: Tue, 27 Nov 2007 14:28:15 +0000 (UTC)
User-Agent: Thunderbird 2.0.0.6 (X11/20071022)
In-Reply-To: <02150983-c65d-4b3f-aca0-40e0df553b55@n20g2000hsh.googlegroups.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit