Destroy method link_to show

Rails 3.1.3

I have User model and Plan model

User has the following association

has_many :gives, :class_name => “Plan”, :foreign_key => :give_id,
:dependent => :destroy

And a view generates

<% @user.gives.each do |give| %>

  • <%= link_to 'Delete', {:controller => :plans, :action => :destroy, :id => give.id}, confirm: 'Are you sure?', :class=>'btn btn-mini' %>
  • ...

    It is not Plan’s view, so I specified :controller as well.

    This Delete link somehow leads to Plan show action. It does not delete
    it as I want it to.

    Do you see any problem here ?

    Honestly, I don’t know what else to show you in order to find the
    problem. If more information is needed, please let me know.

    Thanks

    soichi

    On 22 November 2012 03:53, Soichi I. [email protected] wrote:

    <% @user.gives.each do |give| %>

  • <%= link_to 'Delete', {:controller => :plans, :action => :destroy, :id => give.id}, confirm: 'Are you sure?', :class=>'btn btn-mini' %>
  • ...

    It is not Plan’s view, so I specified :controller as well.

    I think the reason that it is not working is that you have not
    specified :method => delete. If you look at one of your delete links
    that works you will find that is specified. However there is no need
    to specify the controller or action, rails will work out what to do
    based on the type of the object, it is nothing to do with which view
    you are in, so
    link_to ‘Delete’, give, confirm: ‘Are you sure?’, :method => :delete
    should work.

    Colin

    link_to ‘Delete’, give, confirm: ‘Are you sure?’, :method => :delete
    should work.

    Thanks! It worked!

    soichi

    <%= link_to ‘Destroy’, {:controller => :plans, :action =>
    :destroy, :id => give.id}, confirm: ‘Are you sure?’, :class=>‘btn
    btn-mini’ %>

    see if this works

    On 22 November 2012 08:22, Purushothaman R. [email protected]
    wrote:

    <%= link_to ‘Destroy’, {:controller => :plans, :action =>

    ‘Destroy’ is just the text that appears on the link. It will not
    affect the operation.

    Colin