如何通过变量访问运算符/方法?
所以不要这样:
c = Computer.new
c.computer_name = "bla"
c.operating_system = "Windows XP"
c.user_name = "joesmith"
c.save
(加上更多)
我想使用哈希并动态分配值:
c = Computer.new
params.each do |key,val|
c."#{key}" = val.to_s
end
c.save
此外,这里的术语是什么?
答案 0 :(得分:1)
我没有尝试过,但Computer.new params
应该有用
但请注意mass assignment(它不是特定于DataMapper)。
答案 1 :(得分:0)
使用prop_name=
的一个简单方法(不是特定于DataMapper,但假设采用send
方法):
c.send("#{key}=".to_sym, val.to_s)