gpt4 book ai didi

ruby-on-rails-3 - 基于参数的 Rails 路由

转载 作者:行者123 更新时间:2023-12-04 07:19:53 25 4
gpt4 key购买 nike

我正在开发一个 Rails 应用程序,我正在寻找一种根据 url 中是否存在参数来路由到 Controller 中不同操作的方法。

例如我想要 website.com/model前往 model#index , 但是我想要 website.com/model?opt=dev前往 model#show .有没有办法做到这一点?

最佳答案

使用路由约束查看请求对象,看看它是否有 URL 参数。如果你使用的是 Restful 路线,你想把这个“一次性”放在 Restful 路线之前。像这样的东西:

get 'users' => 'users#show', constraints: { query_string: /.+/ }
resources :users

所以这就是说,如果您请求“/users?opt=dev”,那么它将匹配您的特殊情况。否则,它会失败到您正常的 Restful 路线到索引操作。然后,您的 model#show 操作将必须知道选择 param[:opt] 并对其执行任何操作。

另外,请注意正则表达式非常松散,它只是检查任何参数……您需要将其收紧以适应您想要做的任何事情。

关于ruby-on-rails-3 - 基于参数的 Rails 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11267343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com