2

在我的routes.rb文件中,我有许多路线。我想知道哪一个与用户可能提出的任何请求相匹配。

例如,在 routes.rb 你有以下路线:

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

如果我有一个名为a的控制器和一个名为first的操作,当用户访问http://whatever/a/first时,我希望看到选择了:controller/:action路由。

我可以为任何请求这样做吗?

4

2 回答 2

2

如果你只想知道你在哪个控制器/动作中,控制器提供controller_nameaction_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>
于 2009-05-01T13:32:27.243 回答
1

我能找到的最接近的东西是在日志文件中。您将看到每个请求与哪个控制器的哪个操作匹配。你会看到这样的东西:

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

从那里开始,应该很容易,对吧?

于 2009-05-01T13:31:55.950 回答