RoR routing problem. Calling custom action, but getting redirected to show action

Posted by conorgil on Stack Overflow See other posts from Stack Overflow or by conorgil
Published on 2010-02-09T05:20:08Z Indexed on 2010/03/19 23:41 UTC
Read the original article Hit count: 192

I am working on a project in ruby on rails and I am having a very difficult time with a basic problem. I am trying to call a custom action in one of my controllers, but the request is somehow getting redirected to the default 'show' action and I cannot figure out why.

link in edit.html.erb:

<%= link_to 'Mass Text Entry', :action=>"create_or_add_food_item_from_text" %>

Error from development.log:

ActiveRecord::RecordNotFound (Couldn't find Menu with ID=create_or_add_food_item_from_text): app/controllers/menus_controller.rb:20:in `show'

routes.rb file:

ActionController::Routing::Routes.draw do |map|
map.resources :nutrition_objects
map.resources :preference_objects
map.resources :institutions
map.resources :locations
map.resources :menus
map.resources :food_items
map.resources :napkins
map.resources :users
map.resource  :session, :controller => 'session'

map.root :controller=>'pages', :action=>'index'

map.about  '/about',  :controller=>'pages', :action=>'about'
map.contact '/contact', :controller=>'pages', :action=>'contact'
map.home   '/home',    :controller=>'pages', :action=>'index'

map.user_home   '/user/home',   :controller=>'rater', :action=>'index'
map.user_napkins   '/user/napkins', :controller=>'rater', :action=>'view_napkins'
map.user_preferences  '/user/preferences',:controller=>'rater', :action=>'preferences'

map.blog   '/blog', :controller=>'pages', :action=>'blog'
map.signup  '/signup',  :controller=>'users',  :action=>'new'
map.login  '/login',  :controller=>'session', :action=>'new'
map.logout  '/logout',  :controller=>'session', :action=>'destroy'

# Install the default routes as the lowest priority. 
map.connect ':controller/:action'
map.connect ':controller/:action/:id' 
map.connect ':controller/:action/:id.:format'
end

Menus_controller.rb:

class MenusController < ApplicationController
...
   def create_or_add_food_item_from_text  
   end
...
end

create_or_add_food_item_from_text.html.erb simply has a div to show a form with a text box in it. I have the rest of my app working fine, but this is stumping me.

Any help is appreciated.

© Stack Overflow or respective owner

Related posts about ruby-on-rails

Related posts about routing