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... > > продолжение »