레일의 브라우저에서 어떤 경로가 요청과 일치했는지 확인할 수있는 방법이 있습니까?

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

  •  03-07-2019
  •  | 
  •  

문제

lours.rb 파일 여러 경로가 있습니다. 사용자가 한 요청에 대해 어떤 것이 일치했는지 알고 싶습니다.

예를 들어, lours.rb에는 다음 경로가 있습니다.

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

그리고 컨트롤러가있는 경우 그리고 이름이 지정된 행동 첫 번째, 사용자가 갈 때 http : // 뭐든지/a/먼저 , 나는 그것을보고 싶습니다 : 컨트롤러/: 동작 경로가 선택되었습니다.

요청에 대해 그렇게 할 수 있습니까?

도움이 되었습니까?

해결책

어떤 컨트롤러/작업에 있는지 알고 싶다면 컨트롤러가 제공합니다. 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