Ruby on Rails Monday, May 16, 2011

Hi guys,

In my routes file I have the following nested resource:

resources :users do
collection do
get 'posts'
end
end

However, when I visit this URL: http://localhost:3000/users/posts, I get this error: "The action 'posts' could not be found for UsersController"

In my UsersController I have the following:

class UsersController < ApplicationController
# GET /users
# GET /users.json
def index
@users = User.order(:name)

respond_to do |format|
format.html # index.html.erb
format.json { render :json => @users }
end
end

# GET /users/1
# GET /users/1.json
def show
@user = User.find(params[:id])

respond_to do |format|
format.html # show.html.erb
format.json { render :json => @user }
end
end

# GET /users/new
# GET /users/new.json
def new
@user = User.new

respond_to do |format|
format.html # new.html.erb
format.json { render :json => @user }
end
end

# GET /users/1/edit
def edit
@user = User.find(params[:id])
end

# POST /users
# POST /users.json
def create
@user = User.new(params[:user])

respond_to do |format|
if @user.save
format.html { redirect_to(users_url,
:notice => "User #{@user.name} was successfully created.") }
format.json { render :json => @user,
:status => :created, :location => @user }
else
format.html { render :action => "new" }
format.json { render :json => @user.errors,
:status => :unprocessable_entity }
end
end
end

# PUT /users/1
# PUT /users/1.json
def update
@user = User.find(params[:id])

respond_to do |format|
if @user.update_attributes(params[:user])
format.html { redirect_to(users_url,
:notice => "User #{@user.name} was successfully updated.") }
format.json { head :ok }
else
format.html { render :action => "edit" }
format.json { render :json => @user.errors,
:status => :unprocessable_entity }
end
end
end

# DELETE /users/1
# DELETE /users/1.json
def destroy
@user = User.find(params[:id])
@user.destroy

respond_to do |format|
format.html { redirect_to(users_url) }
format.json { head :ok }
end
end
end

What would I change for the route: http://localhost:3000/users/posts to work?

Kind Regards,
Chad Eubanks
The Code Boutique

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

No comments:

Post a Comment