What’s the right RoR way if a controller needs to display one of many
views in, say, an index method?
Ralph S. wrote:
What’s the right RoR way if a controller needs to display one of many
views in, say, an index method?
You can use render or redirect_to. But why would an index method need
this?
Best,
–Â
Marnen Laibow-Koser
http://www.marnen.org
[email protected]
2010/1/18 Ralph S. [email protected]:
What’s the right RoR way if a controller needs to display one of many
views in, say, an index method?
Do you mean you want several different views all of which are ‘index’
views but arranged differently? If so then one method is to pass
parameters to the index action via the url to determine which data and
view to show.
Colin
For each controller in the line,
it’s defined methods be actions
for the implicit render of the view
with the names that match def and view,
If you write this way, you’ll save some typing
If you practice everyday, you may find a better way.
If you want to write about a Resource, it helps
to think about and read into REST.
It makes most sense when you have a noun.
non-rest Controller
BakeriesController
host:port/bakeries/index
host:port/bakeries/by_city
host:port/bakeries/that_have_nice_scones
REST resource PicklesController
host:port/pickles/index/
host:port/pickles/show/1
I would second Colin’s suggestion.
Basically, you use some clue (URL parameter, session, database state
or any external data) to decide what to render at the moment. If I
needed such a thing, my approach would be to have several index
partials or templates that I would render selectively. The naming
would be _index_standard.xyz, _index_specific_1.xyz or something along
these lines. Obviously, I wouldn’t put the selection logic in the view
itself.
- Aleksey