I am working on the admin section of a new rails app and i’m trying to setup some routes to do things ‘properly’. I have the following controller:
class Admin::BlogsController < ApplicationController def index @blogs = Blog.find(:all) end def show @blog = Blog.find(params[:id]) end ... end
in routes.rb:
map.namespace :admin do |admin| admin.resources :blogs end
in views/admin/blogs/index.html.erb:
<% for blog in @blogs %> <%= link_to 'Delete', admin_blog(blog), :method => :delete <% end %>
i have verified that the routes exist:
admin_blogs GET /admin/blogs {:action => 'index', :controller=>'admin/blogs'} admin_blog GET /admin/blogs/:id {:action => 'show', :controller => 'admin/blogs'} ....
but when i try to view http://localhost:3000/admin/blogs i get this error:
undefined method 'admin_blog' for #<ActionView::Base:0xb7213da8>
where am i going wrong and why?
Your Delete link should end in _path: