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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
> "The action ''posts'' could not be found for UsersController"http://localhost:3000/users/posts routes your request to UsersController#posts, but method ''posts'' is not there. Add ''posts'' method to UsersController, and your problem is solved. ---- http://blog.eugen.co -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On 17 May 2011 09:27, Eugen Ciur <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:>> "The action ''posts'' could not be found for UsersController" > > http://localhost:3000/users/posts > > Add ''posts'' method to UsersController, and your problem is solved.Or... you have just created a whole load of different problems... :-/ Instead, check the result of "rake routes" to see what routes Rails is expecting - this might put you on the track towards what is not right with your routing. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On 17 May 2011 06:26, Chad Eubanks <chadcreation-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> In my routes file I have the following nested resource: > > resources :users do > collection do > get ''posts'' > end > endPS Just to clarify, rather than "collection" you possibly want to use the syntax: resources :users do resources :posts end http://guides.rubyonrails.org/routing.html -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org 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.
Michael, I initially I was using resources as oppose to collection. I ran take routes and users/posts is a valid route. Ultimately I am trying to keep a relationship between the two models but remove the user id from the URL. Kind Regards, Chad Eubanks The Code Boutique Sent from my iPhone On May 17, 2011, at 1:40 AM, Michael Pavling <pavling-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> On 17 May 2011 06:26, Chad Eubanks <chadcreation-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: >> In my routes file I have the following nested resource: >> >> resources :users do >> collection do >> get ''posts'' >> end >> end > > > PS Just to clarify, rather than "collection" you possibly want to use > the syntax: > resources :users do > resources :posts > end > > http://guides.rubyonrails.org/routing.html > > -- > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en. >-- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On 17 May 2011 15:30, Chad Eubanks (gMail) <chadcreation-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Ultimately I am trying to keep a relationship between the two models but remove the user id from the URL.You can keep a relationship between models without *any* nesting of routes. Whether a Post belongs to a User, or has many Comments has no *requirement* for certain routes. The routes are just there to help you get about those relationships. What exact functionality do you want to implement? -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
The end goal is this: I have a client app that is proxing json from the rails server. Our current way of using /users/id/posts.json as the url proxied does not work as needed. I would like to set a relation between the user and post model but NOT have a nested url. The desired scenario is this: A user logs in and creates a session. After authentication a redirect to /posts occurs. Post belongs to user and user has_many posts. If you''d like and have a git account, I can add you as a contributor to this demo. This way you can see and change the logic I have currently. Here is a link to the git project: https://github.com/TheCodeBoutique/Blogger Kind Regards, Chad Eubanks The Code Boutique On May 17, 2011, at 8:03 AM, Michael Pavling wrote:> On 17 May 2011 15:30, Chad Eubanks (gMail) <chadcreation-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: >> Ultimately I am trying to keep a relationship between the two models but remove the user id from the URL. > > You can keep a relationship between models without *any* nesting of > routes. Whether a Post belongs to a User, or has many Comments has no > *requirement* for certain routes. The routes are just there to help > you get about those relationships. > What exact functionality do you want to implement? > > -- > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > 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. >-- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org 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.