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!!
···
--
Posted via http://www.ruby-forum.com/.
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 Ruby wrote:
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!!
--
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
you did not define 'name'
file.name = "name"
file.save
not tested
···
On Oct 19, 4:40 pm, OnRails Ruby <z...@sina.com> wrote:
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!!
--
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")
···
On Oct 19, 4:40 pm, OnRails Ruby <z...@sina.com> wrote:
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!!
--
Posted viahttp://www.ruby-forum.com/.