I don't see where you are actually passing in the id!

We do something like this:

<%= link_to image_tag("cross.png"), post, :confirm => 'Are you
sure?', :method => :delete, :title => "Delete this post" %>

That gives us an icon to click on and will delete the post by calling
PostsController#destroy

which looks like:

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

    respond_to do |format|
      format.html { redirect_to(posts_url) }
      format.xml  { head :ok }
    end
  end



On Dec 5, 4:40 pm, RubyonRails_newbie <[email protected]>
wrote:
> Hello there,
>
> I am looking to be able to delete posts from within my account page.
>
> I have a destroy action within the posts controller, which looks like
> this:
>
>   def destroy
>     @post = Post.find(params[:user_id])
>     @post.destroy
>
>     respond_to do |format|
>       format.html { redirect_to :controller => "profile"}
>       format.xml  { head :ok }
>     end
>   end
>
> And I also have the button which is clicked to delete a post.
>
>         <% form_tag(:controller => "posts", :action => "destroy", :confirm =>
> 'Are you sure?') do %>
>           <%= submit_tag("Delete") %>
>
> However - when i click 'delete' I get the following error:
>
> ActiveRecord::RecordNotFound in PostsController#destroy
>
> Couldn't find Post without an ID
>
> I changed '@post = Post.find(params[:user_id])' to only have :id as a
> param, but that returned with the same issue.
>
> Can anyone help?
>
> Many Thanks

--

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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.


Reply via email to