friendly_id - 将slu is隔离到一张单独的桌子上

时间:2014-05-26 08:53:27

标签: postgresql ruby-on-rails-4 friendly-url friendly-id

是否有可能在公共/单独的表中使用多态关联中的slug字段?

例如,我有三个模型UserProductSlug但是用户和产品表中没有slug字段。 slug field表格中存在slugs

用户模型

class User < ActiveRercord::Base
  extend FriendlyId
  friendly_id :slug_candidates, use: [:slugged, :finders]
  has_one :slug, dependant: :destory, as: :sluggable, class_name: "FriendlyId::Slug"
end

产品型号:

class Product < ActiveRercord::Base
  extend FriendlyId
  friendly_id :slug_candidates, use: [:slugged, :finders]
  has_one :slug, dependant: :destory, as: :sluggable, class_name: "FriendlyId::Slug"
end

Slug模型

module FriendlyId

  class Slug < ActiveRecord::Base

    belongs_to :sluggable, :polymorphic => true

    def to_param
      slug
    end

  end
end

我想使用slug内容找到用户记录,例如

User.find(“rafiu”) - 获取slug内容为“rafiu”的用户

它应该通过加入slugs表找到用户。

有办法做到这一点吗?

0 个答案:

没有答案