我有一个/articles
页面,我可以通过articles_path
路径助手访问。
假设我在该页面上有两个标签(例如something like this),用户可以来回点击,但它不会离开页面。
我有逻辑允许用户深层链接到特定选项卡,因此以下任一URL都是有效的,并将直接打开指定选项卡上的页面。
/articles?tab=foo
/articles?tab=bar
是否可以使用包含查询参数的上述网址定义两个新的自定义路由?我希望有一个像articles_foo_tab_path
和articles_bar_tab_path
这样的帮助器直接合并这些查询参数。
谢谢!
答案 0 :(得分:2)
创建这些辅助方法:
module ArticlesHelper
def articles_foo_tab_path(article)
article_path(article, tab: 'foo')
end
def articles_foo_bar_path(article)
article_path(article, tab: 'bar')
end
end
在你的观点中使用它们:
<%= link_to @article.title, articles_foo_bar_path(@article) %>
答案 1 :(得分:1)
辅助方法是一种解决方案。或者,您可以添加将标签参数映射到网址的路由,例如articles / foo或articles / bar
get "articles(filter/:filter)", to: "articles#index", filter: /.*/