2016-02-26 16 views
-5

我有五張照片供我的個人資料模型使用。我想讓它變幹。我有這樣的代碼:如何使用元編程重命名方法?

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

我有處理圖像/自拍XP的方法,但任何圖片是我的Profile對象的屬性。如何動態地使用元編程重命名@profile.picture1picture2,... picture 5

+2

我想是因爲你沒有使用正確的一對多的關係,你要像downvoted你應該在這種情況下。如果你想以正確的方式做到這一點,你需要創建一個''圖片''一個'profile_id'和一個模型'圖片''belongs_to:profile'和'配置文件'has_many:圖片'。您需要深入瞭解面向對象編程的概念,以便更好地理解您嘗試解決的問題的最佳解決方案。 railscasts.com是一個很好的開始 – Mike

+2

spickermann幾乎釘了它。如果你使用的例子實際上是你所要做的事情的擴展,那麼元編程就是用大錘敲擊圖釘。 – jvillian

+1

也是Mike說的。 – jvillian

回答

1

在這種情況下send用繩子插值似乎是最簡單的解決方案:

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

感謝您的答案,它的工作原理:D – Rul

相關問題