NoMethodError(nil的未定义方法`service_options':NilClass)

时间:2012-10-17 11:19:56

标签: ruby-on-rails ruby-on-rails-3 radiant

我正在使用rails 2.3.4,我正面临“没有方法错误”

有可能找不到方法,但我的问题是 - 是否有可能因为空表而发生错误?或另一个控制器或助手的错误?

错误跟踪:

处理QuoteRequestsController #create(适用于2012.0-17 16:07:34的127.0.0.1)[POST]   参数:{“controller”=>“quote_requests”,“quote_request”=> {“packing_required”=>“”,“move_steps_number”=>“”,“phone_day”=>“”,“pickup_region_id” =>“”,“email”=>“”,“move_to_street”=>“”,“move_from_suburb”=>“”,“title”=>“”,“quick_estimate”=>“true “,”room_counts“=> {”9“=>”0“,”8“=>”0“,”5“=>”0“,”2“=>”0“,” 3“=>”0“,”6“=>”0“,”7“=>”0“,”1“=>”0“,”4“=>”“,”11 “=>”0“},”arri_parking_notes“=>”“,”first_name“=>”“,”arri_date_flexible“=>”false“,”insurance_value“=>”“,”arri_steps_number“= >“”,“move_parking_notes”=>“”,“last_name”=>“”,“move_region_id”=>“”,“move_date_flexible”=>“false”,“move_type_id”=>“26 “,”move_to_city“=>”“,”arri_date“=>”“,”move_from_street“=>”“,”move_date“=>”“,”move_to_suburb“=>”“,”move_from_city“ =>“”,“phone_mobile”=>“”},“authenticity_token”=>“U42qF1c0FJXvnC1SCNNYWzxKN3Pem7dC6L01LbTQD7E =”,“commit”=>“提交”,“操作”=>“创建”}

NoMethodError(未定义的方法service_options' for nil:NilClass): vendor/extensions/smartmove/app/controllers/quote_requests_controller.rb:136:in load_regions'

vendor / radiant / vendor / plugins / haml / rails /./ lib / sass / plugin / rails.rb:19:in"process'

/home/bacancy/.rvm/rubies/ruby-1.8.7-p370/lib/ruby/1.8/webrick/httpserver.rb:104:in`service'

/home/bacancy/.rvm/rubies/ruby-1.8.7-p370/lib/ruby/1.8/webrick/httpserver.rb:65:in'run'

/home/bacancy/.rvm/rubies/ruby-1.8.7-p370/lib/ruby/1.8/webrick/server.rb:173:in'start_thread'

/home/bacancy/.rvm/rubies/ruby-1.8.7-p370/lib/ruby/1.8/webrick/server.rb:162:in'start'

/home/bacancy/.rvm/rubies/ruby-1.8.7-p370/lib/ruby/1.8/webrick/server.rb:162:in`start_thread'

/home/bacancy/.rvm/rubies/ruby-1.8.7-p370/lib/ruby/1.8/webrick/server.rb:95:in'start'

/home/bacancy/.rvm/rubies/ruby-1.8.7-p370/lib/ruby/1.8/webrick/server.rb:92:in` each'

/home/bacancy/.rvm/rubies/ruby-1.8.7-p370/lib/ruby/1.8/webrick/server.rb:92:in'start'

/home/bacancy/.rvm/rubies/ruby-1.8.7-p370/lib/ruby/1.8/webrick/server.rb:23:in'start'

/home/bacancy/.rvm/rubies/ruby-1.8.7-p370/lib/ruby/1.8/webrick/server.rb:82:in'start'

在“vendor / extensions / smartmove / app / controllers / quote_requests_controller.rb”中的

行号:136是

@regions = ServiceDescription.find_by_name('region')。service_options

我的数据库表中的

是service_descriptions和service_options。是否与mysql或控制器有关? 请指导我,我非常困惑。这是我必须在本地和服务器上配置的现有应用程序

提前谢谢

感谢你 Nirav

1 个答案:

答案 0 :(得分:1)

您收到错误是因为ServiceDescription.find_by_name('region')返回nil(这只是表示您的service_descriptions表中没有名称为'region'的数据),然后您正在调用{{ 1}}就可以了(即service_options

避免这种情况的最佳方法是在应用任何方法之前检查值是否为零。

nil