I want to render a partial from two different views (class/index; cohort/index) in order to iterate (?) through the pupils model using _pupil.html.erb (in the pupils/views directory) class has many pupils cohort has many pupils pupil belongs to class pupil belongs to cohort It works well, and the _pupil.html.erb partial is rendered correctly from both views. * But, and this is the thing, I want the pupil partial to be slightly different in each case i.e. when it''s called from cohort/index I want to display the pupil data in a table, but not when it''s rendered from class/index. How do I go about having two _pupil.html.erb partials without breaking links between views/controllers/models please? Thanks -- Matt --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
> I want to render a partial from two different views (class/index; > cohort/index) in order to iterate (?) through the pupils model using > _pupil.html.erb (in the pupils/views directory) > > class has many pupils > > cohort has many pupils > > pupil belongs to class > pupil belongs to cohort > > It works well, and the _pupil.html.erb partial is rendered correctly > from both views. > > * But, and this is the thing, I want the pupil partial to be slightly > different in each case i.e. when it''s called from cohort/index I want > to display the pupil data in a table, but not when it''s rendered from > class/index. > > How do I go about having two _pupil.html.erb partials without breaking > links between views/controllers/models please?Why wouldn''t you just move views/pupils/_pupil.html.erb into views/ class/_pupil.html.erb and views/cohort/_pupil.html.erb and change them to do what you want? Then update the render :partial calls from the two calling files to look to their own version? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
That''s exactly it. Thank you! I''ll do it. What does that bit of rendering code look like. How do I keep the @cohort.pupils bit but tell it to go to the different directory? At the moment it looks like this and points to the pupils directory: <div id="pupils"> <%= render :partial => @cohort.pupils %> </div> I''m aware this should be obvious but I don''t understand the API docs on this. -- Matt On Jan 14, 11:13 pm, Philip Hallstrom <phi...-LSG90OXdqQE@public.gmane.org> wrote:> > I want to render a partial from two different views (class/index; > > cohort/index) in order to iterate (?) through the pupils model using > > _pupil.html.erb (in the pupils/views directory) > > > class has many pupils > > > cohort has many pupils > > > pupil belongs to class > > pupil belongs to cohort > > > It works well, and the _pupil.html.erb partial is rendered correctly > > from both views. > > > * But, and this is the thing, I want the pupil partial to be slightly > > different in each case i.e. when it''s called from cohort/index I want > > to display the pupil data in a table, but not when it''s rendered from > > class/index. > > > How do I go about having two _pupil.html.erb partials without breaking > > links between views/controllers/models please? > > Why wouldn''t you just move views/pupils/_pupil.html.erb into views/ > class/_pupil.html.erb and views/cohort/_pupil.html.erb and change them > to do what you want? Then update the render :partial calls from the > two calling files to look to their own version?--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Sorted it with :collection Thanks for the tip. On Jan 15, 3:14 pm, johnsonmlw <johnson...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> That''s exactly it. Thank you! > > I''ll do it. > > What does that bit of rendering code look like. How do I keep the > @cohort.pupils bit but tell it to go to the different directory? > > At the moment it looks like this and points to the pupils directory: > > <div id="pupils"> > <%= render :partial => @cohort.pupils %> > </div> > > I''m aware this should be obvious but I don''t understand the API docs > on this. > > -- > Matt > > On Jan 14, 11:13 pm, Philip Hallstrom <phi...-LSG90OXdqQE@public.gmane.org> wrote: > > > > I want to render a partial from two different views (class/index; > > > cohort/index) in order to iterate (?) through the pupils model using > > > _pupil.html.erb (in the pupils/views directory) > > > > class has many pupils > > > > cohort has many pupils > > > > pupil belongs to class > > > pupil belongs to cohort > > > > It works well, and the _pupil.html.erb partial is rendered correctly > > > from both views. > > > > * But, and this is the thing, I want the pupil partial to be slightly > > > different in each case i.e. when it''s called from cohort/index I want > > > to display the pupil data in a table, but not when it''s rendered from > > > class/index. > > > > How do I go about having two _pupil.html.erb partials without breaking > > > links between views/controllers/models please? > > > Why wouldn''t you just move views/pupils/_pupil.html.erb into views/ > > class/_pupil.html.erb and views/cohort/_pupil.html.erb and change them > > to do what you want? Then update the render :partial calls from the > > two calling files to look to their own version?--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---