2014-09-22 4 views
0

Я следующее действие на мой контроллер:JSON ошибка рубин на рельсах

def bank_response 
     @booking = Booking.where(order_number: params[:order]).first 
     if([email protected]_Response.nil?) 
      respond_to do |format| 
      format.json { render json: @booking, success: 200 } 
      end 
     end 
    end 

на моем NewView я следующий код:

setInterval(function(){ 
     $.ajax({ 
     url: "/bank_response/#{@order_number}", 
     type: "POST", 
     contentType: 'application/json; charset=UTF-8', 
     data: {"order" : "#{@order_number}"}, 
     dataType: "json", 
     success: function(result){ 
      alert("success"); 
     }, 
     error: function(result) { 
      alert("error"); 
     } 
     }); 
    },10000); 

также у меня есть мнение bank_response, как это :

{ "booking" : "#{@booking.to_s}" } 

Но я всегда получаю сообщение об ошибке 500 из моего нового вида.

Remote Address:127.0.0.1:3000 
Request URL:http://localhost:3000/bank_response/609nrhqlewbi 
Request Method:POST 
Status Code:500 Internal Server Error 
Request Headersview source 

Спасибо за вашу помощь

ОБНОВЛЕНИЕ - РЕЛЬСЫ SERVER


MultiJson :: LoadError в /bank_response/ffgs1d79aatc ============ =======================================> 795: неожиданный маркер в «порядке = ffgs1d79aatc «multi_json (1.8.2) Библиотека/multi_json/load_error.rb, линия 6 -------------- ----------------------------------------- ruby 1 module MultiJson 2 class LoadError < StandardError 3
attr_reader :data 4 def initialize(message='', backtrace=[], data='') 5 super(message)> 6
self.set_backtrace(backtrace) 7 @data = data 8 end 9 end 10 DecodeError = LoadError # Legacy support 11
end
Приложение backtrace ------ ------- Полный трассировку -------------- - multi_json (1.8.2) Библиотека/multi_json/load_error.rb: 6: в initialize' - multi_json (1.8.2) lib/multi_json.rb:122:in помощь в загрузке»- multi_json (1.8.2) Библиотека/multi_json.rb: 119: в load' - activesupport (3.2.13) lib/active_support/json/decoding.rb:15:in декодировании '- actionpack (3.2.13) Библиотека/action_dispatch/промежуточного программного обеспечения/params_parser.rb: 47: в parse_formatted_parameters' - actionpack (3.2.13) lib/action_dispatch/middleware/params_parser.rb:17:in вызова' - actionpack (3.2.13) lib/action_dispatch/middleware/flash.rb: 242: in call' - rack (1.4.5) lib/rack/session/abstract/id.rb:210:in context ' - rack (1.4.5) lib/rack/session/abstract/id.rb: 205: in call' - actionpack (3.2.13) lib/action_dispatch/middleware/cookies.rb:341:in call' - actionpack (3.2.13)) lib/action_dispatch/middleware/callbacks.rb: 28: in block in call' - activesupport (3.2.13) lib/active_support/callbacks.rb:405:in _run__4308745349437725987__call__4526229337647608189__callbacks' - ActiveSupport (3.2.13) Библиотека/active_support/callbacks.rb: 405: в __run_callback' - activesupport (3.2.13) lib/active_support/callbacks.rb:385:in _run_call_callbacks' - ActiveSupport (3.2.13) Библиотека/active_support/callbacks.rb: 81: в run_callbacks' - actionpack (3.2.13) lib/action_dispatch/middleware/callbacks.rb:27:in вызова»- actionpack (3.2.13) Библиотека/action_dispatch/промежуточного программного обеспечения/reloader.rb: 65: в call' - actionpack (3.2.13) lib/action_dispatch/middleware/remote_ip.rb:31:in вызове '- better_errors (1.0.1) Библиотека/better_errors/middleware.rb: 84: в protected_app_call' - better_errors (1.0.1) lib/better_errors/middleware.rb:79:in better_errors_call' - better_errors (1,0 .1) lib/better_errors/middleware.rb: 56: in call' - actionpack (3.2.13) lib/action_dispatch/middleware/debug_exceptions.rb:16:in call '- actionpack (3.2.13) lib/action_dispatch/middleware/show_exceptions.rb: 56: in call' - railties (3.2.13) lib/rails/rack/logger.rb:32:in call_app' - r ailties (3.2.13) lib/rails/rack/logger.rb: 16: in block in call' - activesupport (3.2.13) lib/active_support/tagged_logging.rb:22:in tagged '- railties (3.2.13) lib/rails/rack/logger.rb: 16: in call' - quiet_assets (1.0.2) lib/quiet_assets.rb:18:in call_with_quiet_assets' - actionpack (3.2 .13) lib/action_dispatch/middleware/request_id.rb: 22: in call' - rack (1.4.5) lib/rack/methodoverride.rb:21:in call '- rack (1.4.5) lib/rack/runtime.rb: 17: in call' - activesupport (3.2.13) lib/active_support/cache/strategy/local_cache.rb:72:in call' - rack (1.4.5) lib/rack/lock.rb: 15: in call' - actionpack (3.2.13) lib/action_dispatch/middleware/static.rb:63:in call '- railties (3.2.13) lib/rails/engine.rb: 479: in call' - railties (3.2.13) lib/rails/application.rb:223:in call' - rack (1.4.5) lib/rack/content_length. RB: 14: в call' - railties (3.2.13) lib/rails/rack/log_tailer.rb:17:in вызова»- тонкий (1.5.1) Библиотека/тонкий/connection.rb: 81: block in pre_process' - thin (1.5.1) lib/thin/connection.rb:79:in в PRE_PROCESS' - тонкий (1.5.1) Lib/тонкий/соединение.rb: 54: in process' - thin (1.5.1) lib/thin/connection.rb:39:in receive_data '- eventmachine (1.0.3) lib/eventmachine.rb: 187: in run' - thin (1.5.1) lib/thin/backends/base.rb:63:in start' - thin (1.5.1) lib/thin/server.rb: 159: in start' - rack (1.4.5) lib/rack/handler/thin.rb:13:in run ' - стойка (1.4.5) lib/rack/server.rb: 268: in start' - railties (3.2.13) lib/rails/commands/server.rb:70:in start '- railties (3.2.13) lib/rails/commands.rb: 55: in block in <top (required)>' - railties (3.2.13) lib/rails/commands.rb:50:in' - скрипт/рельсы: 6 : в <main>' - script/rails:0:in '

UPDATE решаемые


Ребят, м y проблема была типа: «POST», потому что я делаю «GET»

Спасибо в любом случае.

+0

любой ошибки на консоли? – worldask

+0

@worldask only POST http: // localhost: 3000/bank_response/ffgs1d79aatc 500 (Внутренняя ошибка сервера) – Jean

+0

взгляните на экран сервера rails – worldask

ответ

0

ответить вам придется сделать somethiing Лика это: сообщение

format.json do 
    render json: { 
     booking_attr: @booking.attr, 
     booking_second_attr: @booking_second_attr, 
     id: @booking.id 
    } 
    end 
end 
+0

Спасибо, но я думаю, что у меня есть другая ошибка, потому что, если я перейду к своему http: // localhost: 3000/bank_response/ORDERNUMBER.json, я получаю следующее {«Ds_Amount»: «2500», «Ds_AuthorisationCode»: «508380», «Ds_Card_Country»: «724», , «Ds_Card_Type»: null, «Ds_ConsumerLanguage»: «1», «Ds_Currency»: «978», «Ds_Date»: «22/09/2014», «Ds_Hour»: «13:37» и т. Д. И т. Д.}, Поэтому Я думаю, что я отправляю правильную информацию, но моя проблема в том, что я пытаюсь сделать то же самое с помощью ajax – Jean

Смежные вопросы