if params[:controller] == "posts" && params[:action] == "show"
检查某个控制器/动作对的Railsy方法是否比上述更简单?
这样的东西?
if couple("posts#show")
如果有多项行动,甚至可以这样:
if couple("posts#show/index/edit")
答案 0 :(得分:1)
您始终可以在ApplicationController中定义自定义方法。对于简单的情况,可能是这样的:
def couple?(route_path)
controller, action = route_path.split('#')
controller_name == controller && action_name == action
end
helper_method :couple?
这样,您就可以在控制器和视图中使用该方法。如果您不需要在控制器中使用它,请将其直接定义到ApplicationHelper中。
答案 1 :(得分:0)
有一种rails方法,它叫做current_page?(选项)
基本上你可以传递你喜欢的参数(控制器,动作,控制器+动作,网址等)
了解更多信息: http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-current_page-3F