# Dynamic Views

**URL:** <https://www.ruby-forum.com/t/dynamic-views/173561>\
**Category:** Rails\
**Created:** [August 11, 2009, 1:46pm UTC](https://www.ruby-forum.com/t/dynamic-views/173561 "2009-08-11T13:46:45Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![pmckinstry](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/f6c823/32.png) [@pmckinstry](https://www.ruby-forum.com/u/pmckinstry)\
**Post date:** [August 11, 2009, 1:46pm UTC](https://www.ruby-forum.com/t/dynamic-views/173561/1 "2009-08-11T13:46:45Z")

</div>

Hello Folks,

And thanks to everyone so far who has answered my newbie questions 🙂

I just want a little advice, I’m starting tinkering with ruby to show  
certain businesses locations which reside in a city.

Firstly the user chooses a country, from that country I can find all the  
cities in that country. Then the chooses a city, and from the user  
chooses a company and from that we can display all the locations for  
that business in the city. I have all the data working, I completely  
understand how the models should look and the relationships within them,  
but I just would like some opinions on how it should fir together.

So I have Countries, Cities, Businesses, Locations

The easiest way is to have one ‘show’ view for countries - which lists  
all countries. (say the route is /Countries/show/)  
The you could click a country and it would have a new view for all the  
cities ( route is Countries/US/Show).  
So then we have a view which shows all the businesses in that city lets  
(route is Countries/US/MIA/Show), you then select company AL  
And finally you have a view which shows the locations of that business  
for the chosen company in the city (route is /Countries/US/MIA/AL/Show).

Which is all well and good - does the job but it goes through 4 seperate  
pages, what would be much nicer is to have one single view, which would  
load each subsection as the data became available? does that make sense  
? so instead of 4 views you would have one which each time it got the  
additional data it would load a new section. So questions are.

1. Is this feasible (I think it must be).
2. How do you route it so that it effectively uses the same top level  
‘view’
3. I’m assuming it would use partials, and if so would these need to be  
called in a if statement or is there a more elegant way of doing it?
4. This also sounds quite a nice exercise to do in a AJAX way - can  
anyone give me any pointers on where to look at AJAX examples for ruby?

Again thanks for the help and sorry if my newbie questions have been  
asked before!

---

<div class="post-metadata">

**Author:** ![pmckinstry](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/f6c823/32.png) [@pmckinstry](https://www.ruby-forum.com/u/pmckinstry)\
**Post date:** [August 11, 2009, 2:56pm UTC](https://www.ruby-forum.com/t/dynamic-views/173561/2 "2009-08-11T14:56:11Z")

</div>

Look at this:

[http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper/JavaScriptGenerator/GeneratorMethods.html](http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper/JavaScriptGenerator/GeneratorMethods.html)

AJAX is the way to go in my opinion and you can always fall back to  
HTML. Also take a look at the casts about AJAX on [railscasts.com](http://railscasts.com),  
which pretty much got me started.
