2013-05-25 65 views
0

我基本上試圖保存我在模型中生成的密鑰。這不是用戶用表格填寫的內容。我不斷收到錯誤,當我去/型號/新如何將屬性保存到不是來自表單參數的數據庫?

undefined method `presentation_url=' for #<Class:0x007fc3c7d8ca38> 

這裏是我在模型中做什麼的一般想法。

class Product < ActiveRecord::Base 
    attr_accessible :description, :name, :price, :pdf, :banner 
    self.presentation_url = "a generated url that is not coming from the form" 
end 

我已經爲presentation_url屬性生成並運行遷移,並檢查該列是否存在。

回答

1

使用回調模型中,這樣的事情:

class Product < ActiveRecord::Base 
    before_save :presentation_url 

    attr_accessible :description, :name, :price, :pdf, :banner 

    def default_presentation_url 
    self.presentation_url ||= "a generated url that is not coming from the form" 
    end 
end 
2

錯誤是告訴您類Product沒有名爲presenteation_url=的方法。該方法應存在於Product類的實例上(如果它是根據列名稱由activerecord提供的話)。因此,您應該在某些實例方法中使用方法presentation_url=,而不是在類級別或類方法中使用。

相關問題