我正在尝试使用Ruby on Rails current_page函数创建一个if语句,并为页面下的所有子页面获取“true”..(通过URL检测它们)。
所以我的声明有效:
<% if current_page?('/test') || current_page?('/cat/big-cats') %>
在我网站的“/ cat / big-cats”路径下有几个页面,例如:
/ CAT /大猫/红
/ CAT /大猫/黑色
/ CAT /大猫/绿色
因此,我不是为每个页面制作一个OR语句,而是如何询问/ cat / big-cats / URL下的所有页面?
答案 0 :(得分:5)
您可以使用Request#full_path方法:
<% if request.fullpath.start_with?('/cat/big-cats/') %>
答案 1 :(得分:1)
current_page?
不会这样做。但也许有其他方法可以实现这一目标?
当所有页面由同一个控制器和/或操作提供服务时,检查控制器和操作名称可能是一个选项:
if params[:controller] == :cat && params[:action] == :big_cats
或者您可以检查所请求的路径是否遵循某种模式:
if request.fullpath.start_with?('/cat/big-cats')