为什么我的数组会变成字符串?
我宣布了一个阵列并试图继续推进它:
iFrame
减去 url = params[:img_url]
job = Job.find(params[:job_id])
puts "addphoto==============================================b4"
puts "job.photos:#{job.photos}-#{job.photos.instance_of? Array}"
puts "====================================================="
job.photos = Array.new if (!job.photos)
puts "addphoto==============================================aft"
puts "job.photos:#{job.photos}-#{job.photos.instance_of? Array}"
puts "====================================================="
job.photos.push(url)
我正在做的就是创建一个新的空数组,如果还没有,那么我就推。
我的日志说:
puts
为什么我新创建的数组不是数组? 我无法调试它,因为它只发生在我部署的服务器上。
完全相同的代码会在我的本地服务器中抛出此内容:
2017-04-05T17:51:41.034394+00:00 app[web.1]: addphoto==============================================b4
2017-04-05T17:51:41.034467+00:00 app[web.1]: job.photos:-false
2017-04-05T17:51:41.034490+00:00 app[web.1]: =====================================================
2017-04-05T17:51:41.034687+00:00 app[web.1]: addphoto==============================================aft
2017-04-05T17:51:41.034713+00:00 app[web.1]: job.photos:[]-false
2017-04-05T17:51:41.034715+00:00 app[web.1]: =====================================================
2017-04-05T17:51:41.035141+00:00 app[web.1]: Completed 500 Internal Server Error in 15ms (ActiveRecord: 6.7ms)
2017-04-05T17:51:41.036043+00:00 app[web.1]: 10 TID-ox2i47d2w FATAL:
2017-04-05T17:51:41.036045+00:00 app[web.1]: NoMethodError (undefined method `push' for "[]":String):
2017-04-05T17:51:41.036046+00:00 app[web.1]: app/controllers/mobilevv/job_controller.rb:266:in `add_photo'
发生了什么事?