我有一個標準模型,有幾個字段保存到一個數據庫,我需要1個字段,不必保存。模型模型部分的虛擬領域,但不是在數據庫中
我試過attr_accessor但沒有覆蓋它。使用Attr_accessor我可以設置和獲取字段,但它不是模型的一部分。如果我將模型添加到數組中,然後看看虛擬域中的內容不是它的一部分。我還嘗試將字段:headerfield添加到attr_accessible,但這並沒有改變任何內容。
如何獲取屬於模型但未保存到數據庫的字段?
模型
class Mapping < ActiveRecord::Base
attr_accessible :internalfield, :sourcefield
attr_accessor :headerfield
end
控制檯輸出:
1.9.3-p194 :001 > m = Mapping.new
=> #<Mapping id: nil, internalfield: nil, sourcefield: nil, created_at: nil, updated_at: nil, data_set_id: nil>
1.9.3-p194 :002 > m.headerfield = "asef"
=> "asef"
1.9.3-p194 :003 > m
=> #<Mapping id: nil, internalfield: nil, sourcefield: nil, created_at: nil, updated_at: nil, data_set_id: nil>
它實際上_is_模型的一部分,只有你不會看到
您可以通過以下使它對JSON它以您嘗試的方式使用控制檯輸出。你需要在哪裏使用這個虛擬屬性? – PinnyM 2013-05-01 21:16:48
我需要它在一個純粹的JavaScript客戶端,沒有鐵路的意見。將對象呈現給JSON也不會給我這個屬性。 – Rudi 2013-05-02 07:10:40