I'm copying what seems to be identical logic, but it doesn't work with one of my models.

In surveys, I have 

**View**

```
<% @surveys.each do |survey| %>
  ...
  <%= link_to 'Delete', survey, :confirm => 'Are you sure?', :method => :delete %>
<% end %>

```

**Controller**

```
def destroy
  @survey = Survey.find(params[:id])
  @survey.destroy

  respond_to do |format|
    format.html { redirect to '/' }
    format.json { head :no_content }
  end
end

```

The delete function works fine.

Yet in question, I have

**View**

```
<% @questions.each do |question| %>
  ...
  <%= link_to 'Delete', question, :confirm => 'Are you sure?', :method => :delete %>
<% end %>

```

**Controller**

```
def destroy
  @survey = Survey.find(params[:survey_id])
  @question = Question.find(params[:id])
  @question.destroy

  respond_to do |format|
    format.html { redirect to @survey }
    format.json { head :no_content }
  end
end

```

This gives me the error:

```
  undefined method `question path' for #<#<Class:0x008ff2534....

```

When I remove the `link_to`, it works just fine retrieving `question` and its properties.

Changing the logic in my view to something more specific, 

```
<%= link_to "Delete", :controller => "questions", :action => "destroy", :id => question.id %>

```

I get a more specific error.

```
No route matches {:controller=>"questions", :action=>"destroy", :id=>1}

```

Running `rake routes`, this confirms the path exists.

```
DELETE /surveys/:survey_id/questions/:id(.:format)    questions#destroy

```

And here's my routes.rb entry:

```
devise_for :users do
  resources :surveys do
    resources :questions do
      resources :responses
    end
  end
end

```

Computers don't make mistakes, so what did I do wrong?