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