No route matches [GET] "/microposts/304"

Hi all,

I’m learning Rails by Example (chapter 11), by Michael Hartl (http://ruby.railstutorial.org/chapters/user-microposts#top) but I got no route matches when I try to delete one micropost.

the _micropost html is…

<%= micropost.content %>

Posted <%= time_ago_in_words(micropost.created_at) %> ago.

<% if current_user?(micropost.user) %>

  <%= link_to "delete", micropost, :method  => :delete,

                  									  :confirm => "You sure?",

		  					                 	  :title   => micropost.content %>

<% end %>

the controller is…

class MicropostsController < ApplicationController

before_filter :authenticate, 	:only => [:create, :destroy]

before_filter :authorized_user, :only => :destroy

def create

	@micropost = current_user.microposts.build(params[:micropost])

	if @micropost.save

		flash[:success] = "Micropost created!"

		redirect_to root_path

	else

		@feed_items = []

		render 'pages/home'

	end

end

def destroy

	@micropost.destroy

	redirect_back_or root_path

end

private

	def authorized_user

		@micropost = current_user.microposts.find(params[:id])

	rescue

		redirect_to root_path

	end

end

and finally, the route is…

SampleApp::Application.routes.draw do

resources :users

resources :sessions, :only => [:new, :create, :destroy]

resources :microposts, :only => [:create, :destroy]

match ‘/signup’, :to => ‘users#new’

match ‘/signin’, :to => ‘sessions#new’

match ‘/signout’, :to => ‘sessions#destroy’

match ‘/contact’, :to => ‘pages#contact’

match ‘/about’, :to => ‘pages#about’

match ‘/help’, :to => ‘pages#help’

root :to => ‘pages#home’

end

Please, let me know if you can help me.

Hi all,

I'm learning Rails by Example (chapter 11), by Michael Hartl (http://ruby.railstutorial.org/chapters/user-microposts#top) but I got no route matches when I try to delete one micropost.

Your browser is doing a get request, which implies that

&lt;%= link\_to &quot;delete&quot;, micropost, :method  =&gt; :delete,
                :confirm =&gt; &quot;You sure?&quot;,
                   :title   =&gt; micropost\.content %&gt;

the :method => :delete option isn't having the desired effect. This usually means that something is wrong with your javascript setup (e.g. you aren't loading the javascript that makes :method => :delete work)

Fred

Hi Frederick,

Please, help me to solve it. I did “bundle update” to update javascript plugin (jquery-rails (1.0.17)) but it don’t solve the issue.

Did you follow the instructions at https://github.com/indirect/jquery-rails ?

Fred

In addition to Fred's suggestions you could try pasting the complete page html (View > Page Source or similar in browser) into the w3c html validator to check for valid html, and also run Firefox with Firebug enabled and see if it throws any errors when you click the link.

Colin