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