Block iteration issues

Hello,

I’m struggling with this stuff and can’t find an answer so please advise.
What I’m trying to achieve

@collection has 7 elements
I want to:

  • cycle through all those elements
  • assign element[“smth”] through element[“smth3”] to @
    data.set1_smth through @data.set1_smth3
  • the last iteration would be assigning element[“smth”] to @data.set7_smth etc

I just don’t seem to grasp how to change @data.set1_smth into @data.set2_smth etc. when iterating the block.

i = 1
@collection.elements.each do |item|
@data.set1_smth = item.elements[“smth”] # obviously @data.set1_smth should be somehow different
@data.set1_smth2 = item.elements[“smth2”]

    @data.set1_smth3 = item.elements["smth3"]
    i += 1

end

Can anybody help?
I tried @data.send(“set” + i + “_smth”) but that didn’t seem to work.
Thanks in advance.

Radek

Can anybody help?
I tried @data.send("set" + i + "_smth") but that didn't seem to work.
Thanks in advance.

This is a ruby rather than a rails question, but you need to send the
method name "set1_smth=", and pass the value to be set as the next
argument

Fred