سؤال

أنا أعمل حاليًا على تطبيق Rails3 الذي يستخدم jQuery. لديّ مكون إضافي JavaScript يعيد مجموعة من بيانات JSON استنادًا إلى التحديدات التي قام بها المستخدم. لدي زر حفظ يقرأ هذه المجموعة من البيانات تشكل توصيل البرنامج النصي Java ونشره مرة أخرى إلى تطبيق Rails ليتم حفظه. يبدو أن JavaScript يعمل ، وهو يقوم بإجراء مكالمة Ajax الصحيحة ويرسل البيانات إلى تطبيق Rails. يبدو أن المشكلة هي الطريقة التي تقوم بها القضبان بتشفير البيانات التي تم إعادة تشغيلها إلى الخادم.

المشكلة هي البيانات المتداخلة التي أحاول نشرها إلى تطبيق Rails. لدي مجموعة من التحولات التي يبدو أنها تعامل كسلسلة طويلة وليس تجزئة القيم التي أتوقعها. فيما يلي إخراج قضبان البيانات.

المعلمات: {"تحولات" => [{{" start_time ": " WED OCT 06 2010 09:30:00 GMT+0100 (BST) "، " end_time ": " Wed 06 2010 13 : 00: 00 GMT+0100 (BST) "، " Active ": true ، " process ": " Weekly "، " company_id ": " 1 "} ، {" start_time ": " Thu Oct 07 2010 09:30:00 GMT+0100 (BST) "، " End_time ": " Thu Oct 07 2010 13:00:00 GMT+0100 (BST) "، " "نشط ": صحيح ، "الحدوث ": "أسبوعي " ، "company_id ": "1 "}] ، "id" => "1"}

أتوقع أن أكون قادرًا على استخدام الرمز التالي في وحدة التحكم الخاصة بي

params[:shifts].each do |shift|
  puts shift.inspect # would expect a hash of values here
end

ولكن بدلاً من تجزئة القيم ، هناك مجرد سلسلة واحدة. أي اقتراحات حول سبب عدم ترميز القضبان قيم التجزئة كما تتوقعها أيضًا.

هل كانت مفيدة؟

المحلول

أعتقد أنك ستحتاج إلى تحليلها كـ JSON أولاً. "طلب" json "في الجزء العلوي من وحدة التحكم الخاصة بك ثم جرب json.parse (params [: shift]). كل {| Shift | Shift.inspect}.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top