Many thanks!! Your advice solved my problem. Page_fields extension use
that method. I've prepended it as you suggested, and now all work
perfectly.

On 14 дек, 01:19, William Ross <w...@spanner.org> wrote:
> On 13 Dec 2010, at 09:01, rcz wrote:
>
> > In Radiant CMS when I'm trying to save any page that has any PageType
> > but "normal" (Archive, Index,etc.) I get this error:
>
> > NoMethodError in Admin/pagesController#update
>
> > undefined method `[]' for nil:NilClass
>
> > With clean Radiant everything's work, my radiant carried with some
> > extension, which may cause problem. Can anyone give me any clue how
> > can I solve this problem? Thanks.
>
> It is an extension problem. It should be easy to find and you can probably 
> eliminate it by changing the order in which the extensions load.
>
> I think one of your extensions is calling 
> Page.accepts_nested_attributes(:something) too late. Some Page subclasses 
> have already been created, and they don't get the call. When you try to save 
> a page with one of those classes (ArchivePage, etc) it doesn't know what to 
> do with the nested attributes in the form. The error you see is due to an 
> absence of nested_attributes_options.
>
> First you need to work out which of your extensions is responsible. There are 
> two ways to do that: either add some debugging lines to 
> vendor/radiant/vendor/rails/
> activerecord/lib/active_record/nested_attributes.rb or (more easily), search 
> through all the files in vendor/extensions looking for the string 
> accepts_nested_attributes and see what stands out.
>
> Then you need to make sure that troublesome extension loads before there is 
> any inheritance from Page. To do that you uncomment this line in 
> config/environment.rb:
>
>         # config.extensions = [ :all ]
>
> and prepend the name of your extension:
>
>         config.extensions = [:something, :all]
>
> > ps. I apologize for my poor English.
>
> Your English seems excellent to me. Please do say if anything here is unclear.
>
> best,
>
> will
>
>
>
>
>
> > stack trace:
>
> > NoMethodError in Admin/pagesController#update
>
> > undefined method `[]' for nil:NilClass
>
> > RAILS_ROOT: F:/Work/Rails/Radiant/dev_version/test_app
> > Application Trace | Framework Trace | Full Trace
>
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > activerecord/lib/active_record/nested_attributes.rb:335:in
> > `assign_nested_attributes_for_collection_association'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > activerecord/lib/active_record/nested_attributes.rb:244:in
> > `fields_attributes='
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > activerecord/lib/active_record/base.rb:2906:in `send'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > activerecord/lib/active_record/base.rb:2906:in `assign_attributes'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > activerecord/lib/active_record/base.rb:2902:in `each'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > activerecord/lib/active_record/base.rb:2902:in `assign_attributes'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > activerecord/lib/active_record/base.rb:2775:in `attributes='
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > activerecord/lib/active_record/base.rb:2669:in `update_attributes!'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/app/
> > controllers/admin/resource_controller.rb:64:in `update'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/base.rb:1331:in `send'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/base.rb:1331:in
> > `perform_action_without_filters'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/filters.rb:617:in `call_filters'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/filters.rb:638:in
> > `run_before_filters'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/filters.rb:189:in `call'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/filters.rb:189:in `call'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/filters.rb:635:in
> > `run_before_filters'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/filters.rb:615:in `call_filters'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/filters.rb:610:in
> > `perform_action_without_benchmark'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/benchmarking.rb:68:in
> > `perform_action_without_rescue'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms'
> > F:/Work/Ruby187/p302/lib/ruby/1.8/benchmark.rb:308:in `realtime'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/benchmarking.rb:68:in
> > `perform_action_without_rescue'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/rescue.rb:160:in
> > `perform_action_without_flash'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/flash.rb:151:in `perform_action'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/base.rb:532:in `send'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/base.rb:532:in
> > `process_without_filters'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/filters.rb:606:in `sass_old_process'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/
> > plugins/haml/lib/sass/plugin/rails.rb:20:in `process'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/base.rb:391:in `process'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/base.rb:386:in `call'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/routing/route_set.rb:438:in `call'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/dispatcher.rb:87:in `dispatch'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/dispatcher.rb:121:in `_call'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/dispatcher.rb:130:in
> > `build_middleware_stack'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > activerecord/lib/active_record/query_cache.rb:29:in `call'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > activerecord/lib/active_record/query_cache.rb:29:in `call'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > activerecord/lib/active_record/connection_adapters/abstract/
> > query_cache.rb:34:in `cache'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > activerecord/lib/active_record/query_cache.rb:9:in `cache'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > activerecord/lib/active_record/query_cache.rb:28:in `call'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > activerecord/lib/active_record/connection_adapters/abstract/
> > connection_pool.rb:361:in `call'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rack-
> > cache/lib/rack/cache/context.rb:123:in `forward'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rack-
> > cache/lib/rack/cache/context.rb:130:in `pass'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rack-
> > cache/lib/rack/cache/context.rb:138:in `invalidate'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rack-
> > cache/lib/rack/cache/context.rb:69:in `call!'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rack-
> > cache/lib/rack/cache/context.rb:50:in `call'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/string_coercion.rb:25:in `call'
> > F:/Work/Ruby187/p302/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/
> > head.rb:9:in `call'
> > F:/Work/Ruby187/p302/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/
> > methodoverride.rb:24:in `call'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/params_parser.rb:15:in `call'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/session/cookie_store.rb:99:in `call'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/failsafe.rb:26:in `call'
> > F:/Work/Ruby187/p302/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/
> > lock.rb:11:in `call'
> > F:/Work/Ruby187/p302/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/
> > lock.rb:11:in `synchronize'
> > F:/Work/Ruby187/p302/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/
> > lock.rb:11:in `call'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > actionpack/lib/action_controller/dispatcher.rb:106:in `call'
> > F:/Work/Rails/Radiant/dev_version/test_app/vendor/radiant/vendor/rails/
> > railties/lib/rails/rack/static.rb:31:in `call'
> > F:/Work/Ruby187/p302/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/
> > urlmap.rb:47:in `call'
> > F:/Work/Ruby187/p302/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/
> > urlmap.rb:41:in `each'
> > F:/Work/Ruby187/p302/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/
> > urlmap.rb:41:in...
>
> продолжение »

Reply via email to