2017-02-15 7 views
1

私は時間ソースコードを読んでいて、そこにスラグSlugはRailsでどのように使用されますか?

https://github.com/DefactoSoftware/Hours/blob/development/app/models/concerns/sluggable.rb

と呼ばれるクラスがあると私はすべてのモデルは、文字列型とスラグと呼ばれる属性を持っている参照してください?

この場合、スラッグはどのように使用されますか?

以下のコードはtagモデルの内部で使用スラグの一つであり、

class Tag < ActiveRecord::Base 
    attr_reader :total_hours 
    include Sluggable 

    validates :name, presence: true, 
        uniqueness: { case_sensitive: false } 

    has_many :taggings 
    has_many :hours, through: :taggings 
    has_many :projects, -> { uniq }, through: :hours 
    has_many :users, -> { uniq }, through: :hours 
    belongs_to :project 

    def self.list 
    Tag.order(:name).pluck(:name) 
    end 

    private 

    def slug_source 
    name 
    end 
end 
+1

http://railscasts.com/episodes/314-pretty-urls-with-friendlyid ?view = comments これは、スラッグの実用的な使用例です。 – etusm

+1

@Liシンヤン私の最後の編集を見てください。 – devoh

答えて

2

を言って、私はfriendly urlを生成するためにそれを使用します。必要に応じて、URLで使用できる人間が判読可能なIDです。私はそれもSEOに優しいと思う。あなたがそのように使用することができます。代わりに

mysite.com/products/123456 

mysite.com/products/xbox360-fifa-15 

をあなたのリンクでは、スラグがすでに存在する場合は、この方法が生成されます。

​​

パフォーマンス:ドン」使用するすべてのスラッグ列にインデックスを作成することを忘れないでください。

1

それは単にユーザーフレンドリーなURLを作成する方法です:

http://example.com/states/washington 

の代わり:

http://example.com/states/4323454 
関連する問題