别名或为rails app中的旧数据选择AS

时间:2011-05-16 17:25:49

标签: ruby-on-rails activerecord alias

我有一个连接到旧数据库的rails应用程序。

当我查询数据库时,它会返回“userID”之类的内容,而不是“id”和“userName”而不是“name”。

我认为只需在我的控制器中写入就足够了

:select=>'userID AS id, userName AS name'

但是当我这样做时,我试图重命名的字段不会被返回。其他我没有别名的字段正在返回。

有更好的方法吗?可能在模型中别名字段名称?

1 个答案:

答案 0 :(得分:4)

为什么不定义模型中的更改

class User < ActiveRecord::Base
  set_primary_key "userID"
  #Use alias_attribute to define your columns to ActiveRecord standards.
  alias_attribute "name", "userName"
end

或者您可以使用推荐的路线并在服务器上为数据库创建视图。

有关详细信息,请参阅:http://www.slideshare.net/napcs/rails-and-legacy-databases-railsconf-2009