2009-11-21 69 views
-1

如何將變量添加到由ActiveRecord返回的一組對象中?我環顧四周,沒有看到任何我見過的方法。將變量添加到AR對象

在此先感謝!

+0

發佈一些代碼,你的問題很模糊。具體說明你想要完成的事情。 – bensie 2009-11-21 18:47:26

回答

3

問題很模糊,可以用幾種方法解釋。

  1. 將變量添加到列表中。

    list_of_objects_returned_by_activeRecord << variable 
    

    這似乎太簡單了,可能不是你要找的。

  2. 將變量添加到列表中的每個項目。

    假設您在談論模型的實例,最簡單的方法是將attr_accessor添加到模型中。

    class Model < ActiveRecord::Base 
        ... 
        attr_accessor :new_attribute 
    end 
    

    你可能想將其設置爲某個值,每當模型被加載,所以你想一個after_initialize方法添加到model.For例如,下面將添加一個NICK_NAME屬性爲每個用戶加載和默認它到他們的名字後綴「-O」。

    class User < ActiveRecord::Base 
        ... 
        attr_accessor :nick_name 
        def after_initialize 
        self.nick_name = first_name + "-O" 
        end 
    end 
    
    @user = User.first 
    @user.first_name # => "Steve" 
    @user.nick_name # => "Steve-O" 
    @user.nick_name = "Tiny" # sets nick_name to "Tiny". 
    @user.first_name # => Still "Steve"