هل هناك أي طريقة لمعرفة الطريق الذي يقابل طلب من المتصفح في القضبان ؟

StackOverflow https://stackoverflow.com/questions/811314

  •  03-07-2019
  •  | 
  •  

سؤال

في بلدي الطرق.rb الملف لدي عدد من الطرق.أود أن أعرف أي واحد حصلت مطابقة لأي طلب المستخدم قد جعلت.

على سبيل المثال ، في الطرق.rb لديك الطرق التالية :

map.connect ":controller/:action"
map.connect ":controler/:action/:id"

وإذا كان لدي تحكم اسمه a و العمل اسمه أولا, عندما يذهب المستخدم إلى http://whatever/a/first وأود أن نرى أن :تحكم/:العمل الطريق التقطت.

يمكنني أن أفعل هذا من أجل أي طلب ؟

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

المحلول

إذا كنت فقط تريد أن تعرف أي وحدة تحكم/العمل أنت توفر وحدة تحكم controller_name و action_name الأساليب.لذلك قد فعل شيئا مثل هذا:

# in application_controller.rb
before_filter :set_where_am_i
def set_where_am_i
  @where_am_i = "#{controller_name}/#{action_name}"
end

# in views/layouts/application.erb, somewhere in your html
# (here I choose the <title>)

<head><title>Here: <%= @where_am_i %></title>

نصائح أخرى

أقرب ما يمكن أن تجد في ملفات السجل.وسوف ترى كل طلب العمل التي تحكم مطابقة.سوف ترى شيئا مثل هذا :

Parameters: {"action"=>"show", "id"=>"2", "controller"=>"mycontroller"}

ومن هناك يجب أن يكون سهلا,أليس كذلك ؟

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