我建立一個博客,我想我的類別有漂亮的URL就像 blog/music
,blog/art
等如何用範圍使用friendly_id製作漂亮的網址?
到目前爲止,我已經成功地使它們看起來像這樣
/blog?category=music
class Article < ActiveRecord::Base
belongs_to :category
extend FriendlyId
friendly_id :title, use: :slugged
scope :by_category, -> (slug) { joins(:category).where('categories.slug = ?', slug) if slug }
end
-
class Category < ActiveRecord::Base
has_many :articles
extend FriendlyId
friendly_id :name, use: [:slugged, :finders]
end
視圖
= active_link_to category.name, articles_path(category: category.slug), remote: true,
class_active: 'active', class_inactive: 'inactive', wrap_tag: :dd, active: /#{Regexp.escape(category=category.slug)}/
控制器
Article.by_category(params[:category])
正如我所看到的,你有開銷。爲什麼你使用範圍,當你可以像這樣'Category.find(params [:category])。articles'獲取文章? – axvm