[英]Custom rake task can't access ActiveRecord data immediately after rake db tasks?
[英]ActiveRecord Subclass with manual DB connection can't directly access column variables
我的一个Rails模型有一个小问题。 没什么(我已经做过),但是我对实际问题感兴趣。
基本上,我有一个基于ActiveRecord的类“ Events”,该类已使用“ Establishment_connection”连接到远程数据库。 一切正常,我什至可以执行“ Event.find(:all)”。 但是,我无法使用任何便捷的(column_name)方法。 我被迫做以下事情:
for each event in Event.find(:all)
puts event["Point"]
puts event["Timestamp"]
end
...代替
for each event in Event.find(:all)
puts event.point
puts event.timestamp
end
仅供参考,当我生成模型时,我只运行“脚本/生成模型事件”,而没有其他任何事情。 然后,我在模型内部使用了“ Establishment_connection”和“ set_table”以获取连接。 除此之外,我什么也没做。 同样,查询是可行的,但我无法获得便利。
想法?
最好。
似乎您遇到了大写问题-由于您的列是大写的,因此ActiveRecord将为您创建大写的属性。 如果您执行event.Point
而不是event.point
则第二个示例可能正确工作。 如果您更喜欢使用小写版本,则可以使用ActiveSupport中的alias_attribute:
alias_attribute :point, :Point
alias_attribute :timestamp, :Timestamp
...等等。
除了alias_attribute
如果您有权访问控制该远程数据库并可以进行更改的应用程序。
您可以使用ActiveResource,这是访问远程模型之类的非常干净的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.