Interpolation


#1

Hi -

I am adding a series of records within a for loop using i as my
counter. Rather than hard code the model attributes I would like to
dynamically create them.

Here’s what I’m trying to do:

I have several fields on my example model named such as:
spec_1_english
spec_2_english
etc…

This is what I would like to do - create these attributes dynamically
using my counter.

for i in (0…2)
example.spec_#{i}_english = “test value”
l.save
end

Any help appreciated.

Thanks!


#2

You could use #send. Try something like this:

(0…2).each do |i|
example.send(“spec_#{i}_english=”, “test value”)
l.save
end

Do you really want l.save instead of example.save, though? Maybe there’s
some context missing from your code snippet.

Regards,
Craig


#3

Excellent - this worked great. Another tool for me to use. You’re
correct l. was an error on my part in my snippet.

Thanks Craig