1

ここで髪を引っ張ります。

次の2つのテーブルがあります。

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 関係であると確信しています (データベースには 1 つのユーザー名暗号化があります)。これらのどれも動作しません:

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

これを機能させるにはどうすればよいですか?私はここで死にかけています。

4

1 に答える 1

2

には以下があるbelongs_toため、これは関連付けのように見えます。databaseusername_encryption_id

class UsernameEncryption < Encryption
  has_one :database
end

class Database
  belongs_to :username_encryption
end
于 2011-06-05T20:06:49.053 に答える