2
我有覆蓋模型中的訪問者和在模型上稍後使用to_xml
方法的問題。問題是,to_xml
似乎使用默認的getter方法,而不是使用read_attribute
。Rails 4 to_xml問題與訪問器覆蓋在模型
我的模型:
class Announcement < ActiveRecord::Base
...
def created_at
date = self[:created_at]
"#{german_date(date)} #{german_time(date)} #{I18n.t(:clock)}"
end
...
end
我使用這個,爲了方便地通過參數我HAML意見運行,通過總是有標籤和text_fields正確的方法。因爲我需要一些屬性來顯示修改,所以我覆蓋了訪問者。
-# Minified example ...
= form_for ...
- %i(a b c d e).each do |attr|
= f.label attr
= f.text_field attr
的問題是:當我運行to_xml
,我得到這個問題:
NoMethodError: undefined method `xmlschema' for "15.03.2009 18:17 Uhr":String
顯然,to_xml
在使用我的自定義的吸氣劑,而不是read_attribute(:created_at)
,這將使正確的值。我很驚訝沒有發現這個問題在別的地方,但是有解決這個問題的方法嗎?
我接受它,因爲德雷珀的提示。這似乎是一個偉大的寶石!儘管第一個「解決方案」太麻煩了。 – 2013-04-27 15:00:29