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

Ruby on rails 如何使用元编程重命名方法?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我的个人资料模型有五张图片。我想把它弄干。我有以下代码: @profile.picture1 = set_selfies(params[:profile]["picture#{1}"]) 我有一个处理图像/自拍xP的方法,但任何图片都是我的配置文件对象的属性。如何重命名@profile.picture1,picture2图片5动态使用元编程?在这种情况下,使用字符串插值似乎是最简单的解决方案: (1..5).each do |i| @profile.send("picture#{i}=",

我的个人资料模型有五张图片。我想把它弄干。我有以下代码:

@profile.picture1 = set_selfies(params[:profile]["picture#{1}"])
我有一个处理图像/自拍xP的方法,但任何图片都是我的
配置文件
对象的属性。如何重命名
@profile.picture1
picture2
<代码>图片5动态使用元编程?

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

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

我认为你被否决了,因为你没有使用一对多的关系,就像你在这个例子中应该使用的那样。如果您希望以正确的方式执行此操作,则需要创建一个表
pictures
,该表具有
profile\u id
所属的模型
Picture
:profile
profile
具有多个:pictures。您确实需要更深入地了解OO编程的概念,以便更好地理解您试图解决的问题的最佳解决方案。railscasts.com是一个很好的开始的地方皮克曼说得很对。如果你使用的例子真的是你所做的扩展,那么元编程就是用大锤敲打图钉。还有Mike所说的。你有理由,但应用程序是以这种形式构建的。我很高兴你可以重构代码