friendships_controller.rb
class FriendshipsController < ApplicationController
# POST /friendships
# POST /friendships.json
def create
#@friendship = Friendship.new(params[:friendship])
@friendship = current_user.friendships.build(:friend_id => params[:friend_id])
respond_to do |format|
if @friendship.save
format.html { redirect_to user_profile(current_user.username), notice: 'Friendship was successfully created.' }
format.json { render json: @friendship, status: :created, location: @friendship }
else
format.html { redirect_to user_profile(current_user.username), notice: 'Friendship was not created.' }
format.json { render json: @friendship.errors, status: :unprocessable_entity }
end
end
end
# DELETE /friendships/1
# DELETE /friendships/1.json
def destroy
@friendship = Friendship.find(params[:id])
@friendship.destroy
respond_to do |format|
format.html { redirect_to friendships_url }
format.json { head :no_content }
end
end
end
when i go to http://localhost:3000/friendships?friend_id=1 i get
Unknown action
The action 'index' could not be found for FriendshipsController
I followed this tutorial : http://railscasts.com/episodes/163-self-referential-association
You probably configured the create as a POST not a GET.
This is also the case if you used scaffolding to create a skeleton of your controller. You could change this in the routes configuration. But be aware, that creating stuff via GET is no longer seen as completely conform to the REST paradigm.