我有一个连接到旧数据库的rails应用程序。
当我查询数据库时,它会返回“userID”之类的内容,而不是“id”和“userName”而不是“name”。
我认为只需在我的控制器中写入就足够了
:select=>'userID AS id, userName AS name'
但是当我这样做时,我试图重命名的字段不会被返回。其他我没有别名的字段正在返回。
有更好的方法吗?可能在模型中别名字段名称?
答案 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