【问题标题】:How can I make a url like /united-states/cities/new-york如何制作像 /united-states/cities/new-york 这样的网址
【发布时间】:2010-03-12 00:04:38
【问题描述】:

我怎样才能创建一个像“/united-states/cities/new-york”这样的网址而不是“/countries/1/cities/1”(我不想在网址中使用“国家”这个词)

必须在 route.rb 中写什么才能使用:

site.com/united-states/cities/(查看美国城市列表)

site.com/united-states/cities/new-york/(查看纽约详情)

以及如何在视图和控制器中使用这些路由?

任何想法如何做到这一点?干杯

【问题讨论】:

标签: ruby-on-rails routing rest url-routing


【解决方案1】:

http://railscasts.com/episodes/63-model-name-in-url

class Country
    def to_param
        @name
    end
end

class CountryController
    def show
        @country = Country.find(:name => param[:id])
        # ...
    end
end

【讨论】:

  • 感谢 Maciej,但我仍然感到困惑:我必须在 route.rb 中写什么才能使用:site.com/united-states/cities/(查看美国城市列表)网站。 com/united-states/cities/new-york/(查看纽约详情)以及如何在视图和控制器中使用这些路由?
  • 抱歉耽搁了。您正常设置路线 - 只有控制器/模型中的更改。所有详细信息都在播客中(已提供链接)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-11
  • 2016-08-05
  • 1970-01-01
  • 2021-05-05
相关资源
最近更新 更多