Forum: Ruby on Rails map.root doesn't run controller logic?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Christian J. (Guest)
on 2008-10-19 02:50
I have this in my routes.rb:

map.resources :events
# ...
map.root :controller => "events", :action => :index

Surely enough, accessing http://localhost:3000/ renders the
events/index.html.erb template. However, accessing
http://localhost:3000/events renders the same page/template slightly
different, as the controller logic (EventsController#index) loads some
objects that's not available at "/". Apparently the root route doesn't
run the controller logic at all - it only renders the template.

Is there something wrong here, or am I the one with wrong expectations?
How can I fix it?
Maurício L. (Guest)
on 2008-10-19 03:08
(Received via mailing list)
Try to change the mapping to:

map.root :controller => "events", :action => "index"

The root route does run the controller logic, maybe there is something
mistyped in your routes.rb file.

On Sat, Oct 18, 2008 at 7:50 PM, Christian J.
<removed_email_address@domain.invalid> wrote:
> different, as the controller logic (EventsController#index) loads some
> objects that's not available at "/". Apparently the root route doesn't
> run the controller logic at all - it only renders the template.
>
> Is there something wrong here, or am I the one with wrong expectations?
> How can I fix it?
> --
> Posted via http://www.ruby-forum.com/.
>
> >
>



--
Maurício Linhares
http://alinhavado.wordpress.com/ (pt-br) | http://blog.codevader.com/
(en)
João Pessoa, PB, +55 83 8867-7208
Christian J. (Guest)
on 2008-10-19 03:14
Yup, specifying the action as a string fixed it. Strange that the action
name as symbol mapping would find the right template, but not the right
controller action. Oh, well, guess I'm not supposed to do that anyway :)
mahmoud said (Guest)
on 2008-10-19 13:14
(Received via mailing list)
I find this very strange actually...

what version of rails u r on??

what happens if u just specified the controller in the mapping (with no
action at all).. the index is the default action anyway..

try
map.root :controller => "events"



On Sun, Oct 19, 2008 at 1:14 AM, Christian J. <
removed_email_address@domain.invalid> wrote:

>
> Yup, specifying the action as a string fixed it. Strange that the action
> name as symbol mapping would find the right template, but not the right
> controller action. Oh, well, guess I'm not supposed to do that anyway :)
> --
> Posted via http://www.ruby-forum.com/.
>
> >
>


--
Mahmoud Said
Software Developer
blog.modsaid.com
www.eSpace.com.eg
+20-16-1223857
Christian J. (Guest)
on 2008-10-19 14:08
mahmoud said wrote:
> I find this very strange actually...
>
> what version of rails u r on??

2.1

>
> what happens if u just specified the controller in the mapping (with no
> action at all).. the index is the default action anyway..

That also works. Guess we all learned somthing new then :)
This topic is locked and can not be replied to.