Как установить ассоциации, используя пространства имен и таблицы SQL с именами, отличными от имен моделей Ruby on Rails? - PullRequest
0 голосов
/ 01 февраля 2011

Я использую Ruby on Rails 3 и базу данных SQL. Я пытаюсь переименовать таблицы базы данных, чтобы достичь «гармонии имен» между моделями RoR и таблицами SQL.


Например ...

... в 'RAILS_ROOT / config / rout.rb' у меня есть это:

namespace "users" do
  resources :accounts
end

namespace "second" do
  resources :profiles
end

... в 'RAILS_ROOT / models / account.rb' У меня есть это:

has_one :profile,
  :class_name => "Second::Profile"

... в 'RAILS_ROOT / models / profile.rb' У меня есть это:

belongs_to :account

.. в базе данных SQL у меня есть таблицы с именем:

accounts
profiles  

Я хотел бы продолжить использовать синтаксис

Users::Account.find(1)

в моем приложении RoR, но я хотел бы, чтобы мои таблицы SQL назывались так:

users_accounts
second_profiles

Как это сделать?

Стр.

1 Ответ

2 голосов
/ 01 февраля 2011

Используйте следующий код в ваших моделях:

class User
  set_table_name "users_accounts"
end

class Profile
  set_table_name "second_profiles"
end

Надеюсь, это поможет.

...