自己参照関連付けが機能しています。私の問題は、ユーザー/ショーで、現在のユーザーとの関係に応じて異なるテキストを表示したいということです。
現在、ユーザー=現在のユーザーの場合は何も表示しないように設定しています。ユーザーが現在のユーザーではなく、現在のユーザーと友達ではない場合、ユーザーをフォローするためのリンクを表示したいと考えています。最後に、ユーザーが現在のユーザーではなく、現在のユーザーと既に友達である場合、「友達」というテキストを表示したいと考えています。
友情.rb
belongs_to :user
belongs_to :friend, :class_name => "User"
user.rb
has_many :friendships
has_many :friends, :through => :friendships
has_many :inverse_friendships, :class_name => "Friendship", :foreign_key => "friend_id"
has_many :inverse_friends, :through => :inverse_friendships, :source => :user
ユーザー/番組
<% unless @user == current_user %>
<%= link_to "Follow", friendships_path(:friend_id => @user), :method => :post %>
<% end %>