Parent' show view and nested resources - Best practices?

Hi everybody,

First, sorry for my poor english, I will try to be clear :slight_smile:

I’m wondering what are the best practices in order to obtain a view
showing
data on a parent object, with sub-tabs, each tab for a nested resource.

Imagine that you have a Contact model. Each contact has :

  • documents,
  • participations to meetings,
  • comments (which could be polymorphic)

When you access to the show page of the contact, you’d like to see
contact
information at the top of the page, and under these information, a
tab-bar,
each tab for each nested-resource : documents, meetings, comments, …

Ho do you do this kind of layouts / views ?

A friend explain me that I can use the inherited_resources gem, which is
really useful to abstract and handle nested_controllers, but I still
don’t
find a good solution for the layouts/view.

Thank you by advance

I think no need to use any gem. Its better to you learn how to use
nested
resources .

*www.guides.rubyonrails.org/routing.html *

On Thu, Mar 28, 2013 at 1:50 PM, Cyril Rouyer
[email protected]wrote:

  • documents,

email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msg/rubyonrails-talk/-/Q_l3Y7ZQhhwJ.
For more options, visit https://groups.google.com/groups/opt_out.

How about each tab Ajax-linking (link_to <…>, :remote => true) to
documents, participants, comments controllers’ respective index actions,
which render render inline content via Ajax call to a dedicated space
(under “tabs”) and doing all the other stuff of marking the correct tab
“active”?

For example “Documents tab” (not tested, basically a concept): link_to
“Documents”, contact_documents_path(@contact), :remote => true

then you’d have documents#index action and documents/index.js.haml
template
that’d populate #tab_content div which is just under your general
Contact
information, as you described; the entry point would be contacts#show
action; you’d assign @contact there.

And you nest the resources something like:

resources :contacts do
resources :documents
resources :participants
resources: comments
end

Just brainstorming, feel free to disregard :wink:

2013/3/28 BalaRaju V. [email protected]

Hi,

thank you for your answers

Le jeudi 28 mars 2013 09:20:10 UTC+1, Cyril Rouyer a crit :