D
Daniel Liebig
Hi,
as i mentioned before, i'm pretty new to ruby. So i'm trying to optimize
my code and learn the advantages of this nice language .
What i'm trying this time is to pass a hash of parameters (passed by a
HTML form i.e.) to an new Object and then automatically assign the
values of this hash to the attributes of that object named like the keys
of that hash.
After a lot of research and even more trail & error i ended up with this:
class Example
def initialize ( params = {} )
assign_params params unless params.nil?
end
def assign_params params
params.each { | key, value | eval "@#{key} = '#{value}'" }
end
end
At least, it works
Are there any suggestions for smarter or more efficient ways to
accomplish this? Escpecially the usage of eval() to assign variable
variables seems pretty workedaround to me.
Thy for any hint
D.
as i mentioned before, i'm pretty new to ruby. So i'm trying to optimize
my code and learn the advantages of this nice language .
What i'm trying this time is to pass a hash of parameters (passed by a
HTML form i.e.) to an new Object and then automatically assign the
values of this hash to the attributes of that object named like the keys
of that hash.
After a lot of research and even more trail & error i ended up with this:
class Example
def initialize ( params = {} )
assign_params params unless params.nil?
end
def assign_params params
params.each { | key, value | eval "@#{key} = '#{value}'" }
end
end
At least, it works
Are there any suggestions for smarter or more efficient ways to
accomplish this? Escpecially the usage of eval() to assign variable
variables seems pretty workedaround to me.
Thy for any hint
D.