في Rails، كيف يمكنني الوصول إلى Request.ServerVariables كما تفعل في ASP؟
-
21-08-2019 - |
سؤال
أرغب في الوصول إلى متغيرات خادم الطلبات المحددة، لكن يبدو أنني لا أستطيع العثور على أي شيء على Google حول كيفية الوصول إلى Server Vars لكائن الطلب.كيف أفعل هذا أم أنني محكوم عليه بأن لا أعرف أبدًا؟
مثال على سبب رغبتي في القيام بذلك (ولكن ليس في الواقع ما أريد القيام به):
يقوم المستخدم بتسجيل الدخول، وتريد تخزين عنوان IP الخاص بالمكان الذي قام بتسجيل الدخول فيه، أو ربما أرغب في تسجيل وكيل المستخدم أو المرجع من المتصفح الذي يشاهدون فيه الموقع.
المحلول
يجب عليك أن تنظر إلى request
الكائن المتاح من وحدة التحكم.هناك مجموعة من الأساليب مثل
request.remote_ip
يمكنك قراءة المزيد عن كائن الطلب على موقع Rails API
نصائح أخرى
ال request
يقوم Accessor الموجود في وحدة التحكم بإرجاع كائن ActionDispatch::Request الذي يمكنه الوصول إلى كافة متغيرات الخادم التي تتوقعها.
أفضل الوثائق التي وجدتها هنا: http://apidock.com/rails/v3.2.1/ActionDispatch/Request
في بعض الأحيان يكون لديك أساليب مثل request.remote_ip
كما هو مذكور في الإجابة الأخرى، في أحيان أخرى يمكنك الوصول إلى الأشياء عبر request.env
, ، على سبيل المثال، للحصول على وكيل المستخدم، استخدم request.env["HTTP_USER_AGENT"]