Sorry for such an uber noob question but I could do with a quick pointer
on this.
How do I combine file_ and another variable NOT like this clearly…
count = 1
file_"#{count}".save
count += 1
file_"#{count}".save
count += 1
file_"#{count}".save
but how?
On Thu, Aug 13, 2009 at 1:56 PM, bingo bob[email protected] wrote:
file_“#{count}”.save
but how?
If you’re wanting the text “file_1” etc then
count = 1
“file_#{count}”
but then you’re calling save on “file_1” which is a string
Andrew T.
http://ramblingsonrails.com
http://MyMvelope.com - The SIMPLE way to manage your savings
here’s the real code I’m trying to fix…
File.open(full_path_and_filename) { |photo_file|
resort.“image_#[file_count]” = photo_file }
resort.save
?
bb
Any ideas, it’s this bit that’s wrong,
resort.“image_#[file_count]”
How do I do that?
Thanks
maybe
resort.send “image_#{file_count}”.to_sym
Best regards,
Sergey Avseyev
How does that work? Sorry not clear.
All I’m trying to do is get the count (which will be 1, 2 or 3) included
on the end of the “image_”
bb
On Thu, Aug 13, 2009 at 9:40 AM, Etienne Vallette
d’osia[email protected] wrote:
bingo bob wrote:
How does that work? Sorry not clear.
All I’m trying to do is get the count (which will be 1, 2 or 3) included
on the end of the “image_”
bb
resort.send(:“image_#{file_count}=”, photo_file)
It is not necessary to pass a symbol as a message, a string will do.
bingo bob wrote:
How does that work? Sorry not clear.
All I’m trying to do is get the count (which will be 1, 2 or 3) included
on the end of the “image_”
bb
resort.send(:“image_#{file_count}=”, photo_file)
- you can’t build a variable name in ruby, if you want to do this, use
hashes
- :"" is a short form of “”.intern (or “”.to_sym)
- a.b can be written a.send(:b)
- when you write “a.b = 3”, you call the method “b=” of the object a
with the argument 3.
Etienne