Hello, How can we display the errors in a view if that view contains one instance of type member and an array also of instances from the same model. In my app I have a form which accepts a member data for registration for a family on the top and at the end of the screen in the same form I accept the data for the rest of the family members which also belong to the same model. After the validation I get the errors for ''@member'' but not the ''@familt_members''. @member is created as @member=Member.new and @member_list is created as : @member_list=[] 5.times{ @member_list<<Member.new } After the validations how do I access the errors related to each instance in the array? thanks. -- Posted via http://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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en-US.
On Jul 3, 2012, at 1:59 AM, renu mehta wrote:> Hello, > > How can we display the errors in a view if that view contains one > instance of type member and an array also of instances from the same > model. In my app I have a form which accepts a member data for > registration for a family on the top and at the end of the screen in the > same form I accept the data for the rest of the family members which > also belong to the same model. After the validation I get the errors for > ''@member'' but not the ''@familt_members''. > @member is created as > > @member=Member.new > > and @member_list is created as : > > @member_list=[] > 5.times{ > @member_list<<Member.new > } > > After the validations how do I access the errors related to each > instance in the array?What do you see if you iterate over the members of the array, like this (in a view, just for debugging purposes)? <%- @member_list.each do |member| %> <%= member.inspect %> <%- end %> I am guessing that each member will carry its own hash of errors, and you should see them when you do this. Then it''s just a matter of iterating them in your view to build the error list per member. Walter> > thanks. > > -- > Posted via http://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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en-US. >-- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en-US.
Walter Davis wrote in post #1067201:> On Jul 3, 2012, at 1:59 AM, renu mehta wrote: > >> >> instance in the array? > What do you see if you iterate over the members of the array, like this > (in a view, just for debugging purposes)? > > <%- @member_list.each do |member| %> > <%= member.inspect %> > <%- end %> > > I am guessing that each member will carry its own hash of errors, and > you should see them when you do this. Then it''s just a matter of > iterating them in your view to build the error list per member. > > WalterThis is what I get: #<Member family_member_id: nil, member_first_name: "", member_last_name: "", security_question_answer: nil, created_at: nil, updated_at: nil, member_gender: nil, member_dob: nil, security_question_id: nil, native_language: "", family_id: nil, is_child: false, is_family_head: false, member_middle_name: "", member_email: nil, relation_name: "", marital_status: nil> But nothing about errors. And following code in the loop does not show anything. <% member.errors.full_messages.each do |msg| %> <span style="color:red;"><%= msg %></span> <% end %> -- Posted via http://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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en-US.
On Jul 3, 2012, at 1:05 PM, renu mehta wrote:> Walter Davis wrote in post #1067201: >> On Jul 3, 2012, at 1:59 AM, renu mehta wrote: >> >>> >>> instance in the array? >> What do you see if you iterate over the members of the array, like this >> (in a view, just for debugging purposes)? >> >> <%- @member_list.each do |member| %> >> <%= member.inspect %> >> <%- end %> >> >> I am guessing that each member will carry its own hash of errors, and >> you should see them when you do this. Then it''s just a matter of >> iterating them in your view to build the error list per member. >> >> Walter > > This is what I get: > > #<Member family_member_id: nil, member_first_name: "", member_last_name: > "", security_question_answer: nil, created_at: nil, updated_at: nil, > member_gender: nil, member_dob: nil, security_question_id: nil, > native_language: "", family_id: nil, is_child: false, is_family_head: > false, member_middle_name: "", member_email: nil, relation_name: "", > marital_status: nil> > > But nothing about errors. And following code in the loop does not show > anything. > > <% member.errors.full_messages.each do |msg| %> > > <span style="color:red;"><%= msg %></span> > <% end %> >At this point in the cycle, have you already tried to save these members? Or are they being saved through an association? I don''t think the errors are populated on any AR object until you actually try to save, because those validations only run within the save cycle. Walter> -- > Posted via http://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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@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-US. >-- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@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-US.