اذهب إلى المحتوى
  • 0

كيف أستخرج معاملات رابط عن طريق روبي؟

MaxReve

السؤال

أحتاج إلى استخراج المعاملات الموجود في رابط معين مثل http://www.example.com/something?param1=value1&param2=value2&param3=value3 ففي هذا المثال أريد استخراج كل معامل على حدة مع قيمته فكيف أستطيع فعل ذلك في روبي أو في ريلز؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

هنالك عدة طرق لفعل ذلك في لغة روبي وفي ريلز، فيمكنك على سبيل المثال الحصول على hash من السلسلة لنصية التي قمت بتمريريها عن طريق وحدة cgi كما في المثال التالي:

require 'cgi'

CGI::parse('param1=value1&param2=value2&param3=value3')

وسوف تحصل على:

{"param1"=>["value1"], "param2"=>["value2"], "param3"=>["value3"]}

كما يمكنك استخدام تابع parse_nested_query الذي يقوم بنفس الوظيفة السابقة كما في هذا المثال:

Rack::Utils.parse_nested_query 'param1=value1&param2=value2&param3=value3'
# => {"param1"=>"value1", "param2"=>"value2", "param3"=>"value3"}

وفي النهاية، يمكنك استخدام تابع parse_query حيث تمرّر رابط الموقع كاملًا بينما يُرجع التابع قيم المعاملات فقط، كما في هذا المثال:

Rack::Utils.parse_query URI("http://example.com?par=hello&par2=bye").query

وسوف تحصل على التالي:

{ "par" => "hello", "par2" => "bye" }

المصدر

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...