Wow! Yeah, I was aware of what rails *thought* was the issue, but I
was also *sure* I was in the right. Turns out I was wrong. I'd copied
and pasted the "rjs" code into the new "rjs" file. When I did, I
missed the partial name and left it as "building", so it was passing a
"control" object back to the "building" partial when it should have
been passing it to the "control" partial. Thanks so much for letting
me talk out loud!

On Jun 16, 5:14 am, Narendra sisodiya <[email protected]>
wrote:
> check for
> <%for control in building.controls%>
>
> and make sure controls is defined
>
> ~N A R E N
>
>
>
> On Tue, Jun 16, 2009 at 1:39 PM, gberz3 <[email protected]> wrote:
>
> > My apologies.  Actually the error is that there is no method named
> > 'controls'.  In fact, this is the full error:
>
> > ActionView::TemplateError (undefined method `controls' for #<Control:
> > 0x21f61f0>) on line #21 of app/views/site_manager/_building.html.erb:
> > 18:
> > 19:     <!--Controls-->
> > 20:     <div id="building[<%=building.id%>][controls]">
> > 21:             <%for control in building.controls%>
> > 22:                     <%=render :partial => "control", :locals =>
> > {:control =>
> > control}%>
> > 23:             <%end%>
> > 24:     </div>
>
> >    app/views/site_manager/_building.html.erb:21
> >    app/views/site_manager/add_control_to_building.rjs:1:in
> > `__instance_exec0'
> >    app/views/site_manager/add_control_to_building.rjs:1:in
> > `_run_rjs_app47views47site_manager47add_control_to_building46rjs'
> >    app/controllers/site_manager_controller.rb:23:in
> > `add_control_to_building'
>
> > Rendered rescues/_trace (56.4ms)
> > Rendered rescues/_request_and_response (1.5ms)
> > Rendering rescues/layout (internal_server_error)
>
> > On Jun 16, 2:33 am, Narendra sisodiya <[email protected]>
> > wrote:
> > > check the location of template . this may be cause .
>
> > > N A R E N
>
> > > On Tue, Jun 16, 2009 at 11:55 AM, gberz3 <[email protected]> wrote:
>
> > > > Hi All,
>
> > > > Could someone please explain to me why I'm getting an
> > > > ActionView::TemplateError when I try to use AJAX to update the
> > > > interface while using the following code:
>
> > > >        <div id="building[<%=building.id%>][controls]">
> > > >                <%building.controls.each do |control|%>
> > > >                        <%=render :partial => "control", :locals =>
> > > > {:control => control}%>
> > > >                <%end%>
> > > >        </div>
>
> > > > I have the following structure:  Site -> Building -> Control.  Each
> > > > loops through it's collection of items and renders a partial for
> > > > each.  From Site to Building works just fine.  However, going from
> > > > Building on to Control throws the template error.
>
> > > > It is noteworthy that Controls get added just fine, and if I refresh
> > > > the page, all the code works -- but for some reason when I try to do
> > > > the AJAX thing, the partial (not the "rjs" file) throws an error.
>
> > > > Any thoughts?  My apologies if this is too vague.
>
> > > > Best.
--~--~---------~--~----~------------~-------~--~----~
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 [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to