如何使用元编程重命名方法?

时间:2016-02-26 19:05:25

标签: ruby-on-rails ruby

我的个人资料模型有五张照片。我想让它变干。我有这段代码:

@profile.picture1 = set_selfies(params[:profile]["picture#{1}"])

我有一个处理图像/自拍xP的方法,但任何图片都是我的Profile对象的属性。如何使用元编程动态重命名@profile.picture1picture2,... picture 5

1 个答案:

答案 0 :(得分:1)

在这种情况下,带字符串插值的send似乎是最简单的解决方案:

(1..5).each do |i|
  @profile.send("picture#{i}=", set_selfies[:profile]["picture#{i}"])
end