How to create an index page with data from other contollers

Hi all,

First I’m new to RoR so if I’m asking a question thats simple sorry but
I can’t find the answer on google.

I have a number of controllers that are working fine and I’ve got the
foreign keys etc working.

What I’m looking to do now is have an index page that will have
information displayed from lets say 3 of these controllers on the page
with links to other pages.

Can I ask someone to point me in the right direction, do I have to
create a new controller for this (surely not as this goes against DRY)

Thanks,

Graham

Hiya Graham,

It depends on your setup really but I would say in this case you would
want another controller.

If you’ve put all the shared html into partials then on the new index
page you would just need to do a few <%= render :partial =>
‘PARTIAL_NAME’%> to pull in the html you need.

http://api.rubyonrails.org/classes/ActionView/Partials.html

Cheers
Luke

Luke P. wrote:

Hiya Graham,

It depends on your setup really but I would say in this case you would
want another controller.

If you’ve put all the shared html into partials then on the new index
page you would just need to do a few <%= render :partial =>
‘PARTIAL_NAME’%> to pull in the html you need.

http://api.rubyonrails.org/classes/ActionView/Partials.html

Layouts and Rendering in Rails — Ruby on Rails Guides

Cheers
Luke

Thanks for the advice Luke I’ll use a new controller for the index page
as some of the other pages don’t have partials.
Can I ask how I can link the contollers should I include attributes from
the other controllers index defs etc, such as

myindexcontroller

 def index

        @Businesss = Business.all #from the business controller

        <html to show business list>

      end

end

cheers,

Graham

On 21 March 2010 20:52, Graham F. [email protected] wrote:

http://api.rubyonrails.org/classes/ActionView/Partials.html
the other controllers index defs etc, such as

myindexcontroller

def index

       @Businesss = Business.all #from the business controller

Business.all is not from the business controller, it is the Business
model. You can call this from any controller.

Colin