【问题标题】:Using both id and slug when building paths构建路径时同时使用 id 和 slug
【发布时间】:2011-01-26 15:20:52
【问题描述】:

我有一个模型,比如说用户,它有一个 id 和一个 slug。我希望能够使用包含 id 和 slug 的 user_path(@user) 生成一个 url。

我知道 user_path 将使用 to_param 方法作为它放在 url 末尾的参数,但是有没有办法使用 2 个(或更多参数)并得到这样的东西: http://domain.com/users/id/slug

谢谢!

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    Friendly-id 是生成永久链接的好方法。它还提供了非常好的自定义选项。

    【讨论】:

      【解决方案2】:

      你在你的模型中尝试过这个吗?

      def to_param
        "#{id}-#{slug)"
      end
      

      【讨论】:

      • 我确实尝试过这个,但是得到了一个 user_path 无法生成的 RoutingError。有任何想法吗?我可以提供更多详细信息吗?
      • 哎呀,我的错。 / 应该在那里造成麻烦,请改用-
      • 如果我使用 - 代替(例如 1234-slug-slug),这意味着整个字符串将在 params[:id] 中,我需要解析控制器中的 id,对吗?
      • 是的,但这很容易。 params[:id].to_i 会很乐意解决这个问题
      猜你喜欢
      • 2014-10-23
      • 1970-01-01
      • 2014-03-16
      • 1970-01-01
      • 2020-06-04
      • 2014-11-19
      • 2018-08-02
      • 2012-08-02
      • 1970-01-01
      相关资源
      最近更新 更多