2011-11-23 58 views
2

有人可以幫助我在我的情況下插入屬性總是具有相同的值?插入的情況下額外的屬性變量

實際:

#<Test surname: "example", givename: "test"> 

目標:

#<Test surname: "example", givename: "test", newvalue: "text"> 

如何做我必須要改變這個代碼?

@users.each do |user| 
    user 
end 

或者我可以使用類似:attr_accessor的東西來執行此操作嗎?

回答

0

您需要在模型中添加一個新列。爲此,您可以使用遷移。首先創建這樣一個遷移:

rails g migration addNewValueToTests 

這時你會發現在db/migrations/遷移文件中有你添加一個add_columnself.up方法是這樣的:

def self.up 
    add_column :table_name, :column_name, :datatype #datatype like integer, sting, text,.... 
end 

,那麼你與rake db:migrate數據庫遷移命令和column + setter/getter方法將被添加到模型中!

//如果你只是想要一個別名,你可以在模型中像這樣使用alias_attribute

alias_attribute :new_name, :current_name 
1

如果你真的需要同值類的所有實例,你可以做以下操作:

class Some 
    def initialize 
    @value = "Some value" 
    end 

    def newvalue 
    @value 
    end 
end 

這會給newvalue與一些或者無論你怎麼稱呼它類的所有實例「一些價值」的文字。希望它會有所幫助。

相關問題