Rails方法返回当前的“controller#action”?

时间:2017-03-31 21:35:10

标签: ruby-on-rails ruby

是否有一个Rails方法以与您在routes.rb文件(if controller_name == 'foo' && action_name == 'bar')中定义的格式相同的格式返回两个?

是否有类似get '/buzz' => 'foo#bar'的内容会返回get_current_route()

2 个答案:

答案 0 :(得分:0)

我不知道。

但是你总是可以写自己的东西并把它贴在方便的地方:

e.g:

module ApplicationHelper

  def get_current_route
    "#{params[:controller]}##{params[:action]}"
  end

end

答案 1 :(得分:0)

您可以使用controller_nameaction_name方法获取当前控制器和操作的名称。因此,您可以连接字符串以获得所需的结果。

你也可以从params hash中获取这些值,这被认为是一种不好的做法。

  

params散列将始终包含:controller和:action键,   但您应该使用方法controller_name和action_name   访问这些值

ActionController Parameters

参考链接:

Rails - controller action name to string

Can I get the name of the current controller in the view?