Ho un modello Rails che uso due relazioni has_one
: requester
e friend
. Quando nella console che uso:Rails has_one con nome classe e chiave esterna
f = FriendRequest.all
f[0].requester
ottengo ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: users.requester_id: SELECT "users".* FROM "users" WHERE "users"."requester_id" = 4 LIMIT 1
.
Non so davvero come specificare una relazione `has_one 'con un nome di classe e una chiave che specifica il record. Questo è il mio modello:
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
Come potrei farlo? In una relazione belongs_to
uso lo stesso, ovviamente sostituendo has_one
con belongs_to
. Grazie!