Обратные отношения has_one с ActiveRecord в Rails? - PullRequest
1 голос
/ 05 июня 2011

Я собираюсь вырвать здесь свои волосы.

У меня есть следующие две таблицы:

databases
---------
id
user_id
driver
host
port
database_name
username_encryption_id
password_encryption_id

encryptions
-----------
id
encryption
salt

Использование ассоциации Ruby on Rails ActiveRecord, Я хочубыть в состоянии сделать это :

database = Database.find_by_id(database_id)
encryption = database.username_encryption

Я почти уверен, что это отношение has_one (база данных имеет одно шифрование имени пользователя).Ни одна из этих работ:

has_one :password_encryption, :class_name => "Encryption", :foreign_key => :password_encryption_id, :inverse_of => :encryption
has_one :username_encryption, :inverse_of => :database

Как мне заставить это работать? Я умираю здесь.

1 Ответ

2 голосов
/ 06 июня 2011

Это похоже на belongs_to ассоциацию, поскольку database имеет username_encryption_id:

class UsernameEncryption < Encryption
  has_one :database
end

class Database
  belongs_to :username_encryption
end
...