私は(コード例の構文は正確に右ではないかもしれないが、私はメモリから再作成しようとしています)私はテーブルを作成するのRails 3でこれを行うにしようとしています:Ruby on Railsでは、同じテーブルを参照するフィールドを持つテーブル/モデルを作成するにはどうすればよいですか?
create_table "persons", :force => true do |t|
t.string "name"
t.integer "guest_of_id"
end
そして、私が欲しいは別のものを参照するためにguest_id人のテーブルの行。それぞれの人は一人のゲストだけです。だから私は関連を設定するモデルに:私はguestOfフィールドに
a_person.GuestOf.name
を参照しようとすると、
class Person < ActiveRecord::Base
belongs_to :GuestOf, :class => "Person", :foreign_key => "guest_of_id"
end
しかし、私はエラー
undefined method 'eq' for nil:NilClass
はRailsの中で、このことが可能です取得します?私は何か間違っているのですか?私はhas_many関係がないのですか?私はGoogle-Fuが私に失敗していることを強く疑う。私が見つけた唯一の解決策はhttp://railscasts.com/episodes/163-self-referential-associationですが、彼は多対多の関係を確立しており、私がやろうとしているよりも複雑だと思います。
ありがとうございました。