Tôi có một mô hình Rails mà tôi sử dụng hai quan hệ has_one
: requester
và friend
. Khi ở trong giao diện điều khiển tôi sử dụng:Rails has_one với tên lớp và khóa ngoài
f = FriendRequest.all
f[0].requester
tôi nhận được ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: users.requester_id: SELECT "users".* FROM "users" WHERE "users"."requester_id" = 4 LIMIT 1
.
Tôi không thực sự biết cách chỉ định mối quan hệ `has_one 'với tên lớp và khóa chỉ định bản ghi. Đây là mô hình của tôi:
class FriendRequest < ActiveRecord::Base
has_one :requester, :class_name => "User", :foreign_key => "requester_id"
has_one :friend, :class_name => "User", :foreign_key => "friend_id"
end
Tôi làm cách nào? Trong mối quan hệ belongs_to
tôi sử dụng tương tự, rõ ràng là thay thế has_one
bằng belongs_to
. Cảm ơn!