I can think of a few things off the top of my head - one way is to have one RJS file that looks like this:
page.visual_effect :toggle_slide, "hidden...@object}_form" page.visual_effect :toggle_slide, "add...@object}_testimonial}_button" And in each controller action, right before rendering the RJS, do this @object = "testimonial" or @object = "service" Basically, use instance variables (or another mechanism) to make things available to the RJS template just like you would with anything else. Heck if you have @service or @testimonial there, you could generalize it more by using the same variable for each - @thing then do @thing.class.downcase to get "testimonial" or "service" How does that sound? :) On Tue, Jan 20, 2009 at 3:42 PM, admanb <adm...@gmail.com> wrote: > > Hey all, > > Here's my situation: I have a pair of controllers with associated > models (called Services and Testimonials) that are quite similar. > Because their CRUD behavior is executed via AJAX, the "templates" for > the actions are all short .rjs files. Now, because of the similarity > of the models, most of the templates are exactly the same, with only > the object names changed. That is, where one looks like this: > > page.visual_effect :toggle_slide, 'hidden_testimonial_form' > page.visual_effect :toggle_slide, 'add_testimonial_button' > > The other looks like this: > > page.visual_effect :toggle_slide, 'hidden_service_form' > page.visual_effect :toggle_slide, 'add_service_button' > > Obviously there's no reason these should be separate. My question is, > what's the best way to set these up as shared templates? Both of the > controllers inherit from a third controller (Brochure) because of > shared authentication behavior. But the only way I can think of to > share templates is something like this: > > Put template files in /views/brochure. > > At the end of each action, explicitly render the template. i.e. > > def new > ... > render :template => 'brochure/new > end > > Is there a better way that I'm missing? > > > --~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---