Record saving problem

Greetings all,

I have some active_record models which have same columns, for
instance:

model A (int id, vchar name, vchar code)
model B (int id, vchar name, vchar code)

I can initiate a new model B object using “b = B.new”, assuming that I
already have an “a” acquired by A.find(), how can I assign the column
values of “a” to object “b” easily like:

b = B.new(a)
b.save

Cheers,
Difei

On Wed, Aug 26, 2009 at 7:15 AM, Difei
Zhao[email protected] wrote:

[code]
b = B.new(a)

attributes = a.attributes
attributes.id = nil
b = B.new( attributes )

b.save
[/code]


Greg D.
http://destiney.com/

On Aug 26, 2009, at 11:11 AM, Greg D. wrote:

already have an “a” acquired by A.find(), how can I assign the column
[/code]

Greg D.
http://destiney.com/

Actually, there’s no need to nil the id because you can’t mass-assign
the id.

b = B.new(a.attributes)

would have exactly the same effect.

-Rob

Rob B. http://agileconsultingllc.com
[email protected]

Greg D. wrote:

On Wed, Aug 26, 2009 at 11:21 AM, Rob
Biedenharn[email protected] wrote:

Actually, there’s no need to nil the id because you can’t mass-assign
the id.

b = B.new(a.attributes)

would have exactly the same effect.

I have 47 models with matching history models that will disagree. If
I don’t nil the id it complains.


Greg D.

Well, thanks very much for both of you guys.

On Wed, Aug 26, 2009 at 11:21 AM, Rob
Biedenharn[email protected] wrote:

Actually, there’s no need to nil the id because you can’t mass-assign
the id.

b = B.new(a.attributes)

would have exactly the same effect.

I have 47 models with matching history models that will disagree. If
I don’t nil the id it complains.


Greg D.
http://destiney.com/

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs