我对如何从ActiveRecord实例内的方法访问ActiveRecord实例的属性感到困惑。从ActiveRecord实例内访问RoR ActiveRecord的属性
例如我有一个铅类,从ActiveRecord的继承:我有以下按比例缩小的迁移文件,显示了一个ActiveRecord表的列
class Lead < ActiveRecord::Base
end
:我使用
class CreateLeads < ActiveRecord::Migration
def self.up
create_table :leads do |t|
t.string :phone_1
t.string :phone_2
t.string :web
t.string :fax
t.timestamps
end
end
def self.down
drop_table :leads
end
end
发送Lead类的方法以在内部设置这些属性,如下所示:
def instance_method(prop)
self.send("#{prop}=".to_sym, value_node.text)
end
我的问题是如何在ActiveRecord实例本身中访问以下内容:phone_1,:phone_2属性,而无需使用send,这是我能想到的唯一方法。我认为这些属性是从这样的公共接口访问他们时,通过method_missing的访问:
puts lead.phone_1
但我不知道如何从ActiveRecord的实例中除了通过发送访问它们。
可能吗?
它是漫长的一天。我想我需要把笔记本电脑带走:-) – dagda1 2010-10-15 21:58:21
你和我都是兄弟。现在走出去...... – 2010-10-15 21:59:12
对我来说,没有“自我”的任务没有奏效。 – user331471 2013-01-08 08:03:58