我正在使用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
答案 0 :(得分:1)
您收到错误是因为ServiceDescription.find_by_name('region')
返回nil
(这只是表示您的service_descriptions
表中没有名称为'region'
的数据),然后您正在调用{{ 1}}就可以了(即service_options
)
避免这种情况的最佳方法是在应用任何方法之前检查值是否为零。
nil