Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用当前页面检测页面下的所有子页面_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 使用当前页面检测页面下的所有子页面

Ruby on rails 使用当前页面检测页面下的所有子页面,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在尝试使用RubyonRails的current_page函数生成一个if语句,并为页面下的所有子页面获取“true”(通过URL检测它们) 所以我有一个有效的说法: <% if current_page?('/test') || current_page?('/cat/big-cats') %> 在我的网站的“/cat/big cats”路径下有几个页面,例如: /猫/大猫/红色 /猫/大猫/黑色 /猫/大猫/绿色 因此,我不必为这些页面中的每一页都做OR语句,我如何才能

我正在尝试使用RubyonRails的current_page函数生成一个if语句,并为页面下的所有子页面获取“true”(通过URL检测它们)

所以我有一个有效的说法:

<% if current_page?('/test') || current_page?('/cat/big-cats') %>

在我的网站的“/cat/big cats”路径下有几个页面,例如:

/猫/大猫/红色

/猫/大猫/黑色

/猫/大猫/绿色

因此,我不必为这些页面中的每一页都做OR语句,我如何才能在/cat/big cats/URL下查询所有页面?

您可以使用以下方法:


您可以使用以下方法:


当前页面?
不是这样工作的。但或许还有其他方法可以做到这一点

当所有页面由同一控制器和/或操作提供服务时,检查控制器和操作名称可能是一个选项:

if params[:controller] == :cat && params[:action] == :big_cats
或者,您可以检查请求的路径是否遵循特定模式:

if request.fullpath.start_with?('/cat/big-cats')

当前页面?
不是这样工作的。但或许还有其他方法可以做到这一点

当所有页面由同一控制器和/或操作提供服务时,检查控制器和操作名称可能是一个选项:

if params[:controller] == :cat && params[:action] == :big_cats
或者,您可以检查请求的路径是否遵循特定模式:

if request.fullpath.start_with?('/cat/big-cats')

我使用了request.fullpath.start\u?我用了request.fullpath.start\u?工作起来很有魅力。