can a class have the association has_itself?

is it possible to implement a recursive foreign key association like

i'm writing a vocab app, where i want the vocab table to have an id
and two foreign keys, word1 and word2.
the word table will have an id, a word-string, and a language

i'm trying to do this as follows:

class Vocab < ActiveRecord::Base
  belongs_to :word
  belongs_to :word

class Word < ActiveRecord::Base
  has_many :vocabs
  has_many :words, :through => :vocabs

but it doesn't work. I'm really new to rails and ruby.

not that way :slight_smile:

Vocab must have two word fields (eg the default word_id and word_two_id)

class Vocab ...
  belongs_to :word
  belongs_to :word_two, :foreign_key => :word_two_id

class Word ...
  has_many :vocabs # referencing the first belongs_to on word_id
  has_many :vocab_twos, :foreign_key => :word_two_id # only if you need

  has_many :words, :through => :vocabs # or :vocab_twos

not 100% sure that's exact, but something on that line...