I am getting the following error when trying to link a method in a view so that it can be called on that very object(id). undefined method `abc_notice_path'' for #<ActionView::Base:0xed65220> Extracted source (around line #25): 22: <%= link_to ''Edit'', edit_notice_path(@notice) %> | 23: <%= link_to ''Back'', notices_path %> 24: | 25: <%= link_to ''Save'', abc_notice_path(@notice) %> Here is the code for my method. def abc @notice = Notice.find(params[:id]) #f = File.new("#{RAILS_ROOT}/public/jar/notice.txt","w") #f.write @notice.title #f.write @notice.body #f.write @notice.user_name #f.close #send_file("#{RAILS_ROOT}/public/jar/notice.txt") end I wonder why i am getting this error. This method is defined in a controller which was generated through scaffolding and other functions that were created are working fine. Please help me. I am a novice to rails. Any help will be highly appreciated. -- 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Gautam wrote:> I am getting the following error when trying to link a method in a > view so that it can be called on that very object(id). > > undefined method `abc_notice_path'' for #<ActionView::Base:0xed65220> > > Extracted source (around line #25): > > 22: <%= link_to ''Edit'', edit_notice_path(@notice) %> | > 23: <%= link_to ''Back'', notices_path %> > 24: | > 25: <%= link_to ''Save'', abc_notice_path(@notice) %> > > Here is the code for my method. > > def abc > @notice = Notice.find(params[:id]) > #f = File.new("#{RAILS_ROOT}/public/jar/notice.txt","w") > #f.write @notice.title > #f.write @notice.body > #f.write @notice.user_name > #f.close > #send_file("#{RAILS_ROOT}/public/jar/notice.txt") > end > > > I wonder why i am getting this error. This method is defined in a > controller which was generated through scaffolding and other functions > that were created are working fine. > Please help me. I am a novice to rails. Any help will be highly > appreciated.Hi Gautam, Please check your routes.rb first, I think u forget to specify the name of the action in route. -- Posted via http://www.ruby-forum.com/. -- 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Thanks for your kind reply. Here is the code of my routes.rb file Please suggest corrections, if any... map.resources :notices map.resources :users, :has_many => :notices map.resource :session map.connect '':controller/:action/:id'' map.connect '':controller/:action/:id.:format'' map.connect ''/notices/:id/:abc'', :controller => "notices", :action => "abc" map.root :controller=> ''welcome'' map.signup ''/signup'', :controller => ''users'', :action => ''new'' map.login ''/login'', :controller => ''sessions'', :action => ''new'' map.logout ''/logout'', :controller => ''sessions'', :action => ''destroy'' map.create ''/create'', :controller => ''notices'', :action => ''new'' -- 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Gautam wrote:> Thanks for your kind reply. > Here is the code of my routes.rb file > Please suggest corrections, if any... > > map.resources :notices > map.resources :users, :has_many => :notices > map.resource :session > > map.connect '':controller/:action/:id'' > map.connect '':controller/:action/:id.:format'' > map.connect ''/notices/:id/:abc'', :controller => "notices", :action > => "abc" > > map.root :controller=> ''welcome'' > map.signup ''/signup'', :controller => ''users'', :action => ''new'' > map.login ''/login'', :controller => ''sessions'', :action => ''new'' > map.logout ''/logout'', :controller => ''sessions'', :action => > ''destroy'' > map.create ''/create'', :controller => ''notices'', :action => ''new''try this out. Change map.connect ''/notices/:id/:abc'', :controller => "notices", :action> => "abc"to map.abc_notice ''/notices/:id/:abc'', :controller => "notices", :action> => "abc"Then when you call abc_notice_path(4, ''alphabet'') Maybe that will help out. -- Posted via http://www.ruby-forum.com/. -- 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.