Я пытаюсь реализовать «Дружбу» в моем приложении на Rails 3, как описано в Railscast 163: Самоссылочная ассоциация
У меня все настроено, как описано. Я использую базовую модель пользователя, которая входит в систему с Authlogic, которая работает нормально. Однако, когда я пытаюсь добавить друга, используя следующую ссылку:
<% for user in @users %>
<%=h user.username %>
<%= link_to "Add Friend", friendships_path(:friend_id => user), :method => :post %>
<% end %>
Я получаю перенаправление на http://localhost:3000/friendships?friend_id=2
и Неизвестное действие. Не удалось найти действие 'index' для ошибки FriendshipsController без дальнейшего объяснения. Это особенно странно, так как у меня есть жестко закодированное перенаправление назад к методу «User # show» для моего текущего пользователя (то есть перенаправление обратно в профиль после добавления друга).
Если это поможет, вот мой метод "Friendship # Create":
def create
@friendship = current_user.friendships.build(:friend_id => params[:friend_id])
if @friendship.save
flash[:notice] = "Added friend."
redirect_to :controller => 'users', :action => 'show', :id =>'current_user'
else
flash[:notice] = "Unable to add friend."
redirect_to :controller => 'users', :action => 'show', :id =>'current_user'
end
end
Есть идеи, что может быть причиной этого? Я обнаружил, что у кого-то возникла подобная проблема, но я не смог найти определенное решение: Rails 3 и Модели дружбы
Заранее спасибо за помощь!
~ Dan