Unable to delete post in sample blog application

Hi All,

I am new to RoR and I am writing a small blog application. I have added a Destroy / Delete link to the post index, but when I click this delete link the show action is fired. The log seems to confirm this:

Started GET “/posts/2” for xxx.xxx.xxx.xxx at 2014-03-31 15:51:03 +0000

Processing by PostsController#show as HTML

Parameters: {“id”=>“2”}

Post Load (0.1ms) SELECT “posts”.* FROM “posts” WHERE “posts”.“id” = ? LIMIT 1 [[“id”, “2”]]

Comment Load (0.1ms) SELECT “comments”.* FROM “comments” WHERE “comments”.“post_id” = ? [[“post_id”, 2]]

Rendered posts/show.html.erb within layouts/application (9.0ms)

Completed 200 OK in 120ms (Views: 117.3ms | ActiveRecord: 0.2ms)

My destroy method in the controller is:

def destroy

@post = Post.find(params[:id])

@post.destroy

redirect_to posts_path

end

The code in the index view is:

<%= link_to 'Destroy', post, method: :delete, data: {confirm: 'Are you sure?'} %>

Would anyone have any idea what I might be missing here?

Any help appreciated

Peter

I think here is the error: <%= link_to ‘Destroy’, post, method: :delete, data: {confirm: ‘Are you sure?’} %> = link_to ‘Destroy’, post_path(post), bla bla bla

Check if jquery-ujs is being loaded properly. I’d wager, your “Are you sure?” confirmation isn’t even popping up.

Thanks for the replies.

@Claudiu I have fixed the link you mentioned and the app is doing the same thing. The show action is being fired when I click the Delete link

@Abdulsattar how I can I check if jquery-ujs is being loaded properly. The confirmation is not popping up. What change might be required to fix this?

Thanks

Peter

Thanks for the replies.

@Claudiu I have fixed the link you mentioned and the app is doing the same thing. The show action is being fired when I click the Delete link

@Abdulsattar how I can I check if jquery-ujs is being loaded properly. The confirmation is not popping up. What change might be required to fix this?

Thanks

Peter

@Peter Heylin Check the console if any there are any javascript errors. And view page source, to see if jquery-ujs is being loaded. If it’s not add it in the application.js as manifest.

@Abdulsattar Mohammed,

There are no javascript errors in the console and jquery-ujs appears to be loaded (see head of page source below).

Blog

I have also checked to make sure the issue isn’t something as small as a popup blocker.

Thanks,

Peter

The format of your link looks fine, I have to agree this looks like a javascript issue. When you say, “no javascript errors in the console”, what console are you looking at? Javascript errors would appear in the browser. If you use Firefox, Firebug is a great tool for this. If you use Safari, in Preferences > Advanced check the box “Show Develop menu in menu bar”. If you use Chrome, there are similar tools under View > Developer. Any of these tools will allow you to view any javascript errors. If you use Internet Explorer, sorry I can’t help you. I’m sure someone else can.

It does look like you have the jquery_ujs file properly loading. You might want to check a couple of things. First, make sure the jquery_ujs gem is current. Second, make sure you do NOT have a jquery_ujs.js file in the app/assets/javascripts folder. You want this to be supplied by the gem.

link_to 'Destroy', post_path(post), bla bla bla Gel de sílice de tipo B /A/C