次の ActiveRecord モデルがあります。
class User < ActiveRecord::Base
has_one :faculty
end
class Faculty < ActiveRecord::Base
belongs_to :head, class_name: 'User', foreign_key: :user_id
end
この関連付けを使用してユーザーをプルしようとすると、faculty.head
エラーなしでレコードが取得されますが、入力user.faculty
するとエラーが発生します。
Faculty Load (1.8ms) SELECT "faculties".* FROM "faculties" WHERE "faculties"."user_id" = 1 LIMIT 1
ActiveRecord::StatementInvalid: PG::UndefinedFunction: ERROR: operator does not exist: character varying = integer
LINE 1: ...".* FROM "faculties" WHERE "faculties"."user_id" = 1 LIMIT ...
私のfaculties
データベーススキーマは次のようになります。
create_table "faculties", :force => true do |t|
t.string "name"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "user_id"
end
これはPGのバグですか??