代码之家  ›  专栏  ›  技术社区  ›  Schneems

ruby on rails to_param with multiple fields for seo

  •  1
  • Schneems  · 技术社区  · 14 年前

    我正在尝试使我的URL更漂亮,并且仍然使用RESTful资源。我知道,如果对象具有 名称 属性如下:

    def to_param
      self.name
    end
    

    哪个给你路线 /型号:名称 . 这一切都很简单,但是我必须能够用不同的语言使用相同的名称。我还没有找到有关如何执行此操作的日志,因此如何重写to_-param方法以提供类似于 /:模型/:语言/:名称 ?

    1 回复  |  直到 14 年前
        1
  •  2
  •   jonnii    14 年前

    你可以一直这样做:

    /language/:language/model/:name
    

    您可以对嵌套路由执行此操作:

    map.resources :languages do |l|
      l.resources :profiles
    end
    

    那么你的路线是:

    langauge_profile_url('spanish', @profile)
    

    然而。。。

    取决于你想做什么,你最好使用内置的 rails i18n 东西。这样用户就可以用不同的语言浏览网站了吗??