i have a model called certification_types that i''ve declared as
acts_as_tree. I have a model called certification that belongs_to
:certification_type .
class CertificationController < ApplicationController
.....
def summary_list
@certifications = Certification.find(:all, :order=>''date'')
end
end
summary_list.rhtml
<% for certification in @certifications %>
<%= certification.certification_type.parent.id %>
<% end %>
so, the line above (<%=
certification.certification_type.parent.type_description %> ) does not
work; it says The error occured while evaluating nil.type_description.
if i do a debug(certification.certification_type.parent) it shows that i
have a hash of values:
--- !ruby/object:CertificationType
attributes:
type_description: Allergy & Immunology
id: "12"
parent_id: "11"
can anyone help me with how to access the parent type_description when
looping through my collection?
Thanks,
Nate
--
Posted via http://www.ruby-forum.com/.
> <% for certification in @certifications %> > <%= certification.certification_type.parent.id %> > <% end %>...my guess is that the reason you are getting nil is because there must be cases in the loop that certification does not have a certification type - - did you put the "debug(certification.certification_type.parent)" AFTER the loop? , if so, you may have gotten the last value of the loop - which does have a certification type, but other objects in the loop do not, therefore returning a nil object - - the best way to see if this is correct or not is to put the debug(..) inside the loop and see what it returns... shai -- Posted via http://www.ruby-forum.com/.
Nate Constant
2006-Jun-13 14:41 UTC
[Rails] Re: acts_as_tree problem accessing parent object
shai wrote:> > >> <% for certification in @certifications %> >> <%= certification.certification_type.parent.id %> >> <% end %> > > > ...my guess is that the reason you are getting nil is because there must > be cases in the loop that certification does not have a certification > type - - did you put the > "debug(certification.certification_type.parent)" AFTER the loop? , if > so, you may have gotten the last value of the loop - which does have a > certification type, but other objects in the loop do not, therefore > returning a nil object - - > the best way to see if this is correct or not is to put the debug(..) > inside the loop and see what it returns... > > shaiShai, I cant believe i missed that! Thank you very much for responding. Nate -- Posted via http://www.ruby-forum.com/.