【问题标题】:how to display path with FriendlyId, rails如何使用 FriendlyId、rails 显示路径
【发布时间】:2013-03-06 13:40:43
【问题描述】:

我的任务是能够在浏览栏中看到当前类别或产品的路径。

此时我只能看到这样的当前类别

localhost:3000/categories/smalcinataji

但我想要这样

localhost:3000/categories/atkritumu-parstrades-tehnika/smalcinataji

为了创建漂亮的 url,我使用了这个示例中名为 FriendlyId 的 gem http://railscasts.com/episodes/314-pretty-urls-with-friendlyid?view=asciicast

谢谢!

【问题讨论】:

  • 有人做过这样的事情吗,给我提示:) 谢谢
  • 这是什么? atkritumu-parstrades-tehnik
  • @Said Kaldybaev 。对不起,atkritumu-parstrades-tehnika 是主要类别,而 smalcinataji 是子类别。它是拉脱维亚语:)
  • @EdgarsRozenfelds 您能否提供一些示例数据和预期的输出/生成的 URL?
  • @FrankSchmitt 在我的问题中,显示了预期的输出。我想要这样的`/category_name/subcategory_name/product_name`

标签: ruby-on-rails path friendly-id


【解决方案1】:

FriendlyId 可以取a method to construct the slug

class Person < ActiveRecord::Base
  friendly_id :category_and_subcategory

  def category_and_subcategory
    "#{my_category_method}/#{my_subcategory_method}"
  end
end

请注意,由于额外的斜线可能会导致路由问题,但如果需要,肯定也有解决此问题的方法。

【讨论】:

  • 如果我告诉你我使用名为 Ancestry 的 gem 构建的分类功能,这会起作用吗?
  • 好吧,显然你需要调整 slug 在方法中的构建方式,但是friendly_id 并不关心 slug 的元素来自哪里。
  • 我是 Rails 的新手,所以也许有些人已经这样做了,所以我可以用它作为例子? :)
猜你喜欢
  • 1970-01-01
  • 2016-03-23
  • 2013-11-24
  • 1970-01-01
  • 2012-06-02
  • 2013-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多