On Mar 1, 12:54 am, Fearless Fool <li...@ruby-forum.com> wrote: > > I want to show/edit the metered services on the same page as premise > edit page, so my views/premises/edit.html.erb file has this line: > > <% Rails.logger.debug("== #...@premise.address} has > #...@premise.metered_services.count} metered services") %> > <%= render :partial => "metered_services/metered_service", :collection > => @premise.metered_services %> > > and my stubbed views/metered_services/_metered_service.html.erb is just > this: > > <% Rails.logger.debug("== _metered_service: metered_service = > #{metered_service.inspect}") %> > > So here's what's weird: With a newly created premise -- before I've > added any metered services -- the _metered_service.html.erb partial gets > called with a metered service object whose ID is nil and whose > premise_id field is filled in with the owning premise. But there should > be ZERO metered services, not one. The console will show something > like: > > == 1800 Pennsylvania Avenue has 0 metered services > MeteredService Load (0.2ms) SELECT "metered_services".* FROM > "metered_services" WHERE ("metered_services".premise_id = 48) > == metered_service = #<MeteredService id: nil, premise_id: 48, ... > > > Is this a special "feature" of render ... :collection? I can always > filter out metered_services with nil ids in the partial, but that seems > really odd. Am I doing something wrong? >
That sounds like you've got an unsaved metered_service somewhere (eg by doing premise.metered_services.build) Fred > - ff > > -- > Posted viahttp://www.ruby-forum.com/. -- 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.