在我看来,我使用 a<%= f.text_field :latlon %>
来编辑latlon
属性(不是 ActiveRecord 列)。保存时,我想将其解析并latlong
拆分为回调。lat
lon
before_save
我不知道如何访问latlon
回调中变量的参数。我已经尝试过self.latlong
,但调用与attr_reader
andlat
属性lon
相同。
我知道我可以在控制器中执行此操作,但这是模型逻辑,不是吗?
#app/models/bla.rb
class Bla < ActiveRecord::Base
attr_accessible :name, :lat, :lon, :latlon #but latlon is not an ActiveRecord Attribute
before_save :foo
def latlon
"#{lat}, #{lon}"
end
attr_writer latlon
private
def foo
self.lat = # regex that parse latlon
self.lon = # regex that pase coors
end
end