Rails 3 模型将某些列映射到不同的模型属性
我有一个名为“DXFTACCTS”的旧旧表,并且创建了 Rails 模型“Account”。
class Account < ActiveRecord::Base
set_table_name "DXFTACCTS"
end
问题是 DXFTACCTS 具有诸如“XORFNAME”之类的字段,我希望将其作为模型中的“first_name”,等等。如何将特定表列“映射”到模型属性?
谢谢!
I have the old legacy table called "DXFTACCTS", and I created Rails model "Account".
class Account < ActiveRecord::Base
set_table_name "DXFTACCTS"
end
The problem is that DXFTACCTS has fields like "XORFNAME" which I want to be "first_name" in the model, and so on. How do I "map" specific table columns to model attributes?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以像这样使用alias_attribute 方法:
alias_attribute 创建方法first_name、first_name= 和first_name?它将映射到表中的 XORFNAME 列。但是,您将无法在常规列等条件下使用它。例如:
那将会失败...
You can use the method alias_attribute like this:
alias_attribute creates the methods first_name, first_name= and first_name? which will map to the XORFNAME column in your table. However, you will NOT be able to use it in conditions like regular columns. For example:
That will fail...
我认为类似 getter 和 setter 方法的定义应该可以解决问题:
I think something like definition of getter and setter methods should do the trick: