Sergio, Thank you very much! All my questions are resolved.
ebi 2009/11/27 Sergio Cambra .:: entreCables S.L. ::. <[email protected]>: > On Viernes, 27 de Noviembre de 2009 11:02:02 EBIHARA, Yuichiro escribió: >> Hi, >> >> I'm meeting a problem that is almost the same as Issue 691. >> http://code.google.com/p/activescaffold/issues/detail?id=691 >> >> +++ >> ... >> F, [2009-11-27T18:23:34.281000 #4596] FATAL -- : >> ActionView::TemplateError (You have a nil object when you didn't expect it! >> The error occurred while evaluating nil.status) on line #7 of >> vendor/plugins/active_scaffold/frontends/default/views/_form_attribute.html >>.erb: 4: <label for="<%= active_scaffold_input_options(column, >> scope)[:id] %>"><%= column.label %></label> >> 5: </dt> >> 6: <dd> >> 7: <%= active_scaffold_input_for column, scope %> >> 8: <% if column.description -%> >> 9: <span class="description"><%= column.description %></span> >> 10: <% end -%> >> >> app/models/topic_item.rb:15:in `page_status' >> >> vendor/plugins/active_scaffold/frontends/default/views/_form_attribute.html >>.erb:7 >> vendor/plugins/active_scaffold/frontends/default/views/_horizontal_subform_ >>record.html.erb:15 ... >> +++ >> class TopicItemsController < ApplicationController >> ... >> active_scaffold :topic_items do | config | >> ... >> config.columns << :page_status >> ... >> end >> ... >> end >> +++ >> class TopicItem < ActiveRecord::Base >> ... >> def page_status >> page = self.web_page >> page.status >> end >> ... >> end >> +++ >> >> I have a Topic model and a TopicItem model and they have a one-to-many >> association. >> When I click "Edit" of one of the records in /topics/list page, the >> error above occured. >> >> The Topic object has 4 TopicItem objects. >> I found TopicItem.page_status is called 5 times and the error occurs >> at the fifth call since all attributes of the TopicItem object are >> nil. >> As Andreius mentioned in Issue 691, it must be caused by the new >> record in the subform. >> >> Is this behavior expected? >> Should I always check nil for an empty model? > > If you want to render page_status in the form, and you want to allow creating > new topic items, you should check nil, you can use page.try(:status) for > example. If you don't want to allow creating topic items, define > authorized_for_create? in TopicItem model and return false. > > > -- > Sergio Cambra .:: entreCables S.L. ::. > Mariana Pineda 23, 50.018 Zaragoza > T) 902 021 404 F) 976 52 98 07 E) [email protected] > > -- > > You received this message because you are subscribed to the Google Groups > "ActiveScaffold : Ruby on Rails plugin" 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/activescaffold?hl=en. > > > -- You received this message because you are subscribed to the Google Groups "ActiveScaffold : Ruby on Rails plugin" 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/activescaffold?hl=en.
