псевдоним или выберите AS для устаревших данных в приложении rails - PullRequest
3 голосов
/ 16 мая 2011

У меня есть приложение rails, которое подключается к устаревшей базе данных.

когда я запрашиваю базу данных, он возвращает что-то вроде 'userID' вместо 'id' и 'userName' вместо 'name'.

Я думал, что будет достаточно просто написать в моих контроллерах

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

но когда я это делаю, поля, которые я пытаюсь переименовать, не возвращаются. Другие поля, которые я не навязываю, возвращаются.

Есть ли лучший способ сделать это? Может быть, псевдоним имен полей в моделях?

1 Ответ

4 голосов
/ 16 мая 2011

Почему вы не определяете изменения в вашей модели

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

...