Closed GoogleCodeExporter closed 9 years ago
I've defined a virtual column and when I try to set it's label I get "undefined method `label=' for nil:NilClass" Here is my model: class FundingApplication < ActiveRecord::Base acts_as_paranoid belongs_to :grant_category belongs_to :application_type has_many :people, :order => :person_type_id has_one :business_manager, :conditions => ["person_type_id = ?", PersonType.business_manager], :class_name => 'Person' has_one :optional_contact, :conditions => ["person_type_id = ?", PersonType.optional_contact], :class_name => 'Person' has_many :co_investigators, :conditions => ["person_type_id = ?", PersonType.co_investigator], :class_name => 'Person' has_one :principal_investigator, :conditions => ["person_type_id = ?", PersonType.principal_investigator], :class_name => 'Person' mount_uploader :abstract, AttachmentUploader mount_uploader :pre_proposal, AttachmentUploader validates_presence_of :project_title, :amount_requested, :grant_category_id, :application_type, :abstract, :pre_proposal validates_numericality_of :amount_requested, :greater_than => 0, :less_than_or_equal_to => 50000 validates_inclusion_of :will_study_require_irb_approval, :will_study_require_iacuc_approval, :has_child_health_component_to_research, :in => [true, false] validates_length_of :worked_with_co_investigator_explaination, :maximum => 250, :tokenizer => lambda {|str| str.scan(/\w+/)}, :too_long => "is too long (maximum is {{count}} words)" accepts_nested_attributes_for :people def self.yes_no { 1 => 'Yes', 0 => 'No', true => 'Yes', false => 'No' } end def pi_first_name principal_investigator.first_name end def pi_last_name principal_investigator.last_name end end and here is the AS controller: class Admin::PilotPreApplicationsController < ApplicationController include ApplicationDownloader layout 'admin' active_scaffold :pilot_pre_application do |config| config.label = "Pilot Pre Applications" config.create.link = false config.update.multipart = true #config.list.always_show_search = true #config.actions.swap :search, :live_search config.action_links.add "Download", :controller => 'pilot_pre_applications', :action => 'download', :type => :record, :inline => false config.list.columns = [ :pi_first_name, :project_title, :amount_requested, :grant_category, :created_at ] config.show.columns = [ :project_title, :grant_category, :amount_requested, :will_study_require_irb_approval, :has_irb_approval, :will_study_require_iacuc_approval, :has_iacuc_approval, :worked_with_co_investigator_explaination, :has_child_health_component_to_research, :principal_investigator, :business_manager, :optional_contact, :co_investigators, :abstract, :pre_proposal, :created_at, :updated_at ] config.update.columns = [ :project_title, :grant_category, :amount_requested, :will_study_require_irb_approval, :has_irb_approval, :will_study_require_iacuc_approval, :has_iacuc_approval, :worked_with_co_investigator_explaination, :has_child_health_component_to_research, :abstract, :pre_proposal, :people, :created_at, :updated_at ] config.columns.each { |column| column.label = column.label.titleize } config.columns[:people].show_blank_record = false config.columns[:grant_category].clear_link config.columns[:will_study_require_irb_approval].label = "Requires IRB Approval?" config.columns[:will_study_require_iacuc_approval].label = "Requires IACUC Approval?" config.columns[:has_irb_approval].label = "Has IRB Approval?" config.columns[:has_iacuc_approval].label = "Has IACUC Approval?" config.columns[:has_child_health_component_to_research].label = "Has Child Health Component?" config.columns[:pi_first_name].label = "This" config.columns[:will_study_require_irb_approval].form_ui = :checkbox config.columns[:will_study_require_iacuc_approval].form_ui = :checkbox config.columns[:has_irb_approval].form_ui = :checkbox config.columns[:has_iacuc_approval].form_ui = :checkbox config.columns[:has_child_health_component_to_research].form_ui = :checkbox config.columns[:grant_category].form_ui = :select config.columns[:created_at].form_ui = :calendar_date_select config.columns[:updated_at].form_ui = :calendar_date_select config.columns[:created_at].label = "Submitted" config.columns[:updated_at].label = "Updated" end end The error happens on line 39 of the controller Here is the error: undefined method `label=' for nil:NilClass Here is the full backtrace: /Users/amcates/Projects/pilot_project/vendor/rails/activesupport/lib/active_supp ort/whiny_nil.rb:52:in `method_missing' /Users/amcates/Projects/pilot_project/app/controllers/admin/pilot_pre_applicatio ns_controller.rb:39 /Users/amcates/Projects/pilot_project/vendor/plugins/active_scaffold/lib/active_ scaffold/configurable.rb:11:in `instance_exec' /Users/amcates/Projects/pilot_project/vendor/plugins/active_scaffold/lib/active_ scaffold/configurable.rb:11:in `configure' /Users/amcates/Projects/pilot_project/vendor/plugins/active_scaffold/lib/active_ scaffold.rb:61:in `active_scaffold' /Users/amcates/Projects/pilot_project/app/controllers/admin/pilot_pre_applicatio ns_controller.rb:6 /Users/amcates/Projects/pilot_project/vendor/rails/activesupport/lib/active_supp ort/dependencies.rb:380:in `load_without_new_constant_marking' /Users/amcates/Projects/pilot_project/vendor/rails/activesupport/lib/active_supp ort/dependencies.rb:380:in `load_file' /Users/amcates/Projects/pilot_project/vendor/rails/activesupport/lib/active_supp ort/dependencies.rb:521:in `new_constants_in' /Users/amcates/Projects/pilot_project/vendor/rails/activesupport/lib/active_supp ort/dependencies.rb:379:in `load_file' /Users/amcates/Projects/pilot_project/vendor/rails/activesupport/lib/active_supp ort/dependencies.rb:259:in `require_or_load' /Users/amcates/Projects/pilot_project/vendor/rails/activesupport/lib/active_supp ort/dependencies.rb:425:in `load_missing_constant' /Users/amcates/Projects/pilot_project/vendor/rails/activesupport/lib/active_supp ort/dependencies.rb:80:in `const_missing' /Users/amcates/Projects/pilot_project/vendor/rails/activesupport/lib/active_supp ort/inflector.rb:361:in `constantize' /Users/amcates/Projects/pilot_project/vendor/rails/activesupport/lib/active_supp ort/inflector.rb:360:in `each' /Users/amcates/Projects/pilot_project/vendor/rails/activesupport/lib/active_supp ort/inflector.rb:360:in `constantize' /Users/amcates/Projects/pilot_project/vendor/rails/activesupport/lib/active_supp ort/core_ext/string/inflections.rb:162:in `constantize' /Users/amcates/Projects/pilot_project/vendor/rails/actionpack/lib/action_control ler/routing/route_set.rb:443:in `recognize' /Users/amcates/Projects/pilot_project/vendor/rails/actionpack/lib/action_control ler/routing/route_set.rb:436:in `call' /Users/amcates/Projects/pilot_project/vendor/rails/actionpack/lib/action_control ler/dispatcher.rb:87:in `dispatch' /Users/amcates/Projects/pilot_project/vendor/rails/actionpack/lib/action_control ler/dispatcher.rb:121:in `_call' /Users/amcates/Projects/pilot_project/vendor/rails/actionpack/lib/action_control ler/dispatcher.rb:130:in `build_middleware_stack' /Users/amcates/Projects/pilot_project/vendor/rails/activerecord/lib/active_recor d/query_cache.rb:29:in `call' /Users/amcates/Projects/pilot_project/vendor/rails/activerecord/lib/active_recor d/query_cache.rb:29:in `call' /Users/amcates/Projects/pilot_project/vendor/rails/activerecord/lib/active_recor d/connection_adapters/abstract/query_cache.rb:34:in `cache' /Users/amcates/Projects/pilot_project/vendor/rails/activerecord/lib/active_recor d/query_cache.rb:9:in `cache' /Users/amcates/Projects/pilot_project/vendor/rails/activerecord/lib/active_recor d/query_cache.rb:28:in `call' /Users/amcates/Projects/pilot_project/vendor/rails/activerecord/lib/active_recor d/connection_adapters/abstract/connection_pool.rb:361:in `call' /Users/amcates/Projects/pilot_project/vendor/rails/actionpack/lib/action_control ler/string_coercion.rb:25:in `call' /Library/Ruby/Gems/1.8/gems/rack-1.0.1/lib/rack/head.rb:9:in `call' /Library/Ruby/Gems/1.8/gems/rack-1.0.1/lib/rack/methodoverride.rb:24:in `call' /Users/amcates/Projects/pilot_project/vendor/rails/actionpack/lib/action_control ler/params_parser.rb:15:in `call' /Users/amcates/Projects/pilot_project/vendor/rails/actionpack/lib/action_control ler/session/cookie_store.rb:93:in `call' /Users/amcates/Projects/pilot_project/vendor/rails/actionpack/lib/action_control ler/failsafe.rb:26:in `call' /Library/Ruby/Gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in `call' /Library/Ruby/Gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in `synchronize' /Library/Ruby/Gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in `call' /Users/amcates/Projects/pilot_project/vendor/rails/actionpack/lib/action_control ler/dispatcher.rb:114:in `call' /Users/amcates/Projects/pilot_project/vendor/rails/actionpack/lib/action_control ler/reloader.rb:34:in `run' /Users/amcates/Projects/pilot_project/vendor/rails/actionpack/lib/action_control ler/dispatcher.rb:108:in `call' /Users/amcates/Projects/pilot_project/vendor/rails/railties/lib/rails/rack/stati c.rb:31:in `call' /Library/Ruby/Gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:46:in `call' /Library/Ruby/Gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in `each' /Library/Ruby/Gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in `call' /Users/amcates/Projects/pilot_project/vendor/rails/railties/lib/rails/rack/log_t ailer.rb:17:in `call' /Library/Ruby/Gems/1.8/gems/rack-1.0.1/lib/rack/content_length.rb:13:in `call' /Library/Ruby/Gems/1.8/gems/rack-1.0.1/lib/rack/chunked.rb:15:in `call' /Library/Ruby/Gems/1.8/gems/rack-1.0.1/lib/rack/handler/mongrel.rb:64:in `process' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gem s/mongrel-1.1.5/lib/mongrel.rb:159:in `process_client' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gem s/mongrel-1.1.5/lib/mongrel.rb:158:in `each' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gem s/mongrel-1.1.5/lib/mongrel.rb:158:in `process_client' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gem s/mongrel-1.1.5/lib/mongrel.rb:285:in `run' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gem s/mongrel-1.1.5/lib/mongrel.rb:285:in `initialize' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gem s/mongrel-1.1.5/lib/mongrel.rb:285:in `new' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gem s/mongrel-1.1.5/lib/mongrel.rb:285:in `run' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gem s/mongrel-1.1.5/lib/mongrel.rb:268:in `initialize' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gem s/mongrel-1.1.5/lib/mongrel.rb:268:in `new' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gem s/mongrel-1.1.5/lib/mongrel.rb:268:in `run' /Library/Ruby/Gems/1.8/gems/rack-1.0.1/lib/rack/handler/mongrel.rb:34:in `run' /Users/amcates/Projects/pilot_project/vendor/rails/railties/lib/commands/server. rb:111 /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require' script/server:3 Any help is greatly appreciated. Andrew
Original issue reported on code.google.com by amca...@gmail.com on 3 Feb 2010 at 5:13
amca...@gmail.com
You must create the virtual column, adding to config.columns, before configuring it.
Original comment by sergio.c...@gmail.com on 4 Feb 2010 at 8:16
sergio.c...@gmail.com
Original issue reported on code.google.com by
amca...@gmail.com
on 3 Feb 2010 at 5:13