别名或为 Rails 应用程序中的旧数据选择 AS

发布于 2024-11-07 09:57:28 字数 264 浏览 0 评论 0原文

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

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

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

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

,但是当我这样做时,我尝试重命名的字段不会返回。我未使用别名的其他字段将被返回。

有更好的方法吗?也许给模型中的字段名称起别名?

I've got a rails app that is connecting to a legacy database.

when I query the db, it returns stuff like 'userID', instead of 'id' and 'userName' instead of 'name'.

I thought it would be simple enough to just write in my controllers

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

but when I do that, the fields I'm attempting to rename don't get returned. Other fields that I'm not aliasing are getting returned.

Is there a better way of doing this? Maybe aliasing the field names in the models?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情丝乱 2024-11-14 09:57:28

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

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

Why dont you define the changes in your model

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

Or you can use the recomended route and create a view for your database on the server.

For more information see: http://www.slideshare.net/napcs/rails-and-legacy-databases-railsconf-2009

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文