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 E.
The Code Boutique