Rails 3 - URL 中的字符串 - 如何获取它以及路由怎么样

发布于 2024-11-15 16:16:50 字数 380 浏览 1 评论 0原文

我是 RoR 的新手,过去几天我一直在处理 URL 中的字符串。我在数据库中有一些项目,我想将这些项目插入到 URL 中。例如我的网站:

www.web.com

数据库中的项目:

项目1 项目2 项目3

我在想,如何编辑 routes.rb 和我的控制器以遵循 URL 的形状:

www.myweb.com/items1

有人遇到类似问题或有人提示,怎么办?我将非常高兴获得任何帮助。我不知道该怎么做:/

提前谢谢您。

I am newbie in RoR and a few past days I am struggling with strings in URL. I have some items in database and these items I would like to insert them to URL. For example, my web:

www.web.com

Items in database:

items1
items2
items3

I am thinking, how to edit routes.rb and my controller for following the shape of URL:

www.myweb.com/items1

Had someone similar problem or have someone some hints, how to do? I would be very glad for any help. I have no idea how to do :/

Thank you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜味超标? 2024-11-22 16:16:50

路由必须是唯一的,符号是名称值对中的值

    match '/item/:item_id' => 'controller#action'
    then get the item_id from params[:item_id]

上面的意思是 example.com?item=1 使用 1 作为示例 item_id
所以说像

    match '/item/:category/:item_id' => 'controller#action'

example.com/item/foo_category/bar_item

    params[:category] = foo_category
    params[:item_id] = bar_item

但你不能有 2 条路线,

   match '/item/:category' => 'controller#action'
   match '/item/:item_id' => 'controller#action'

因为 Rails 只是将其视为 /item/x 并且可能将其与路线中的第一个匹配项相匹配
希望有帮助。

The routes just have to be unique and the symbol is the value in the name value pair

    match '/item/:item_id' => 'controller#action'
    then get the item_id from params[:item_id]

The above is saying like example.com?item=1 using 1 as an example item_id
so say like

    match '/item/:category/:item_id' => 'controller#action'

example.com/item/foo_category/bar_item

    params[:category] = foo_category
    params[:item_id] = bar_item

but you couldn't have 2 routes like

   match '/item/:category' => 'controller#action'
   match '/item/:item_id' => 'controller#action'

because rails just sees it as /item/x and will probably match it with the first match in routes
Hope that helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文