# Lost in AJAX with rails

**URL:** <https://www.ruby-forum.com/t/lost-in-ajax-with-rails/116227>\
**Category:** Rails\
**Created:** [October 3, 2007, 5:09pm UTC](https://www.ruby-forum.com/t/lost-in-ajax-with-rails/116227 "2007-10-03T17:09:18Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![whitewolfaustria](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/bbce88/32.png) [@whitewolfaustria](https://www.ruby-forum.com/u/whitewolfaustria)\
**Post date:** [October 3, 2007, 5:09pm UTC](https://www.ruby-forum.com/t/lost-in-ajax-with-rails/116227/1 "2007-10-03T17:09:18Z")

</div>

I am trying to create a menu for navigation that starts out as

Group1  
Group2  
Group3  
Group4

and when you click on one of the groups it brings up one of the model  
tables you can navigate to.

Group1  
Group2  
|== Model1  
|== Model2  
|== Model3  
Group3  
Group4

This is created with two helper methods and the partial \_menu.rhtml.  
I was wondering how to start to migrate this to ajax. I tried  
creating an rjs file but I don t understand the structure and how it  
is called in the context of rails.

If anyone could help me I would really appreciate it.

White W.

---

<div class="post-metadata">

**Author:** ![whitewolfaustria](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/bbce88/32.png) [@whitewolfaustria](https://www.ruby-forum.com/u/whitewolfaustria)\
**Post date:** [October 3, 2007, 6:52pm UTC](https://www.ruby-forum.com/t/lost-in-ajax-with-rails/116227/2 "2007-10-03T18:52:41Z")

</div>

%= link\_to\_remote( mg.group\_name, :update =\> “menu”, :url =\>  
{:controller =\> “application”, :action  
=\> “menu”}) unless ms.first.nil? %\>

---

<div class="post-metadata">

**Author:** ![whitewolfaustria](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/bbce88/32.png) [@whitewolfaustria](https://www.ruby-forum.com/u/whitewolfaustria)\
**Post date:** [October 3, 2007, 6:04pm UTC](https://www.ruby-forum.com/t/lost-in-ajax-with-rails/116227/3 "2007-10-03T18:04:00Z")

</div>

I have gotten a little further, I now have the rjs script  
executing . . . but the problem now is that I have many controllers  
and I want the action to call the function in application.rb, but it  
seems that it can’t find it if it is in the application controller. Is  
there a way around this somehow?

\<%= link\_to\_remote( mg.group\_name, :update =\> “menu”, :url =\> {:action  
=\> [:menu]}) unless ms.first.nil? %\>

other wise this works as I expect it.

Any help is appreciated.  
White W.

---

<div class="post-metadata">

**Author:** ![whitewolfaustria](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/bbce88/32.png) [@whitewolfaustria](https://www.ruby-forum.com/u/whitewolfaustria)\
**Post date:** [October 3, 2007, 7:03pm UTC](https://www.ruby-forum.com/t/lost-in-ajax-with-rails/116227/4 "2007-10-03T19:03:51Z")

</div>

When I use that syntax I get a routing error  
++++++++++++++++++++++++++++++++++++++++++++++  
++++++++++++++++++++++++++++++++++++++++++++++

Processing ApplicationController#index (for 127.0.0.1 at 2007-10-03  
12:55:48) [POST]  
Session ID: 455c9d0d9f200777765921028a77b9cf  
Parameters: {}

ActionController::RoutingError (no route found to match “/application/  
menu” with {:method=\>:post}):  
E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/  
actionpack-1.13.3/lib/action\_controller/routing.rb:1292:in  
`recognize_path' E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/ actionpack-1.13.3/lib/action_controller/routing.rb:1282:in`recognize’  
E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/  
dispatcher.rb:40:in `dispatch' E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1- mswin32/lib/mongrel/rails.rb:78:in`process’  
E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-  
mswin32/lib/mongrel/rails.rb:76:in `synchronize' E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1- mswin32/lib/mongrel/rails.rb:76:in`process’  
E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-  
mswin32/lib/mongrel.rb:618:in `process_client' E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1- mswin32/lib/mongrel.rb:617:in`each’  
E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-  
mswin32/lib/mongrel.rb:617:in `process_client' E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1- mswin32/lib/mongrel.rb:736:in`run’  
E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-  
mswin32/lib/mongrel.rb:736:in `initialize' E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1- mswin32/lib/mongrel.rb:736:in`new’  
E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-  
mswin32/lib/mongrel.rb:736:in `run' E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1- mswin32/lib/mongrel.rb:720:in`initialize’  
E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-  
mswin32/lib/mongrel.rb:720:in `new' E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1- mswin32/lib/mongrel.rb:720:in`run’  
E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-  
mswin32/lib/mongrel/configurator.rb:271:in `run' E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1- mswin32/lib/mongrel/configurator.rb:270:in`each’  
E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-  
mswin32/lib/mongrel/configurator.rb:270:in `run' E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1- mswin32/bin/mongrel_rails:127:in`run’  
E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-  
mswin32/lib/mongrel/command.rb:211:in `run' E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1- mswin32/bin/mongrel_rails:243 E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/ activesupport-1.4.2/lib/active_support/dependencies.rb:488:in`load’  
E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/  
activesupport-1.4.2/lib/active\_support/dependencies.rb:488:in `load' E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/ activesupport-1.4.2/lib/active_support/dependencies.rb:342:in`new\_constants\_in’  
E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/  
activesupport-1.4.2/lib/active\_support/dependencies.rb:488:in `load' E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/ commands/servers/mongrel.rb:60 E:/irail/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/ custom_require.rb:27:in`gem\_original\_require’  
E:/irail/InstantRails/ruby/lib/ruby/site\_ruby/1.8/rubygems/  
custom\_require.rb:27:in `require' E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/ activesupport-1.4.2/lib/active_support/dependencies.rb:495:in`require’  
E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/  
activesupport-1.4.2/lib/active\_support/dependencies.rb:342:in  
`new_constants_in' E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/ activesupport-1.4.2/lib/active_support/dependencies.rb:495:in`require’  
E:/irail/InstantRails/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/  
commands/server.rb:39  
E:/irail/InstantRails/ruby/lib/ruby/site\_ruby/1.8/rubygems/  
custom\_require.rb:27:in `gem_original_require' E:/irail/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/ custom_require.rb:27:in`require’  
script/server:3  
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

To me that looks like its asking for the method to be in application,  
like I want, but I already have method defined in application.rb  
class ApplicationController \< ActionController::Base  
layout ‘index’  
…  
…  
def menu  
logger.info “\n\n\ncalled\n\n\n”  
end  
…  
…  
end
