Why I can't update data, but I can insert data into new mode

why I can’t update data, but I can insert data into new model.
like this:
if File.find_by_id(id)
file=File.find_by_id(id)
else
file=File.new

file.name=name
file.save

there is a problem, when there don’t find id, there is no problem, But
when find id, update the field,
there is Error, there said: undefined method ‘name=’
why? who can help me? Thanks!!

File may be an unfortunate name for your ActiveRecord class since
it’s also a built in ruby class.

when you do find_by_id (same as just find BTW) your getting your
ActiveRecord class instance and when you do File.new your getting an
instance of the built in ruby class which does not contain a “name=”
method

that’s what I’m guessing anyway… checkout the RoR group;-)

Tim

On Oct 19, 2007, at 1:40 PM, OnRails R. wrote:

there is a problem, when there don’t find id, there is no problem, But
when find id, update the field,
there is Error, there said: undefined method ‘name=’
why? who can help me? Thanks!!

Posted via http://www.ruby-forum.com/.

Be who you are and say what you feel, because those who mind don’t
matter and those who matter don’t mind.

  • Dr. Seuss

On Oct 19, 4:40 pm, OnRails R. [email protected] wrote:

there is a problem, when there don’t find id, there is no problem, But
when find id, update the field,
there is Error, there said: undefined method ‘name=’
why? who can help me? Thanks!!

Posted viahttp://www.ruby-forum.com/.

you did not define ‘name’

file.name = “name”
file.save

not tested

On Oct 19, 4:40 pm, OnRails R. [email protected] wrote:

there is a problem, when there don’t find id, there is no problem, But
when find id, update the field,
there is Error, there said: undefined method ‘name=’
why? who can help me? Thanks!!

Posted viahttp://www.ruby-forum.com/.

OOPS!!! my bad

there is no name method for name=

there is a rename method

File.rename(“old_file_name”, “new_file_name”)