2013-04-08 2 views
1

나는 FriendlyId를 설치하려고했다. 나는 railscast를 따르고있다 : 314-pretty-urls-with-friendlyid. 설치가 매우 쉬운 것처럼 보입니다. 그러나 나를 위해 일하지 않습니다.레일즈 : FriendlyId gem not working

added gem "friendly_id", "~> 4.0.9" in Gemfile 

나는 그 명령

bundle install 다음이 내 제품 모델 수정 실행 :

여기에 내가했던 단계는

class Product < ActiveRecord::Base 
    extend FriendlyId 
    friendly_id :name 

    attr_accessible :name, :product_code, :recipe, :selling_price, :servings, letsrate_rateable "quality", "packaging", "hygiene" , "service", "price" 
    validates :name, :presence => true 
    class << self 
    def search(params) 
      if params[:search] 
       products = Product.published.includes(:product_sub_categories) 
      end 
    end 
    end 
end 

스틸은 'ID'를 보여주는를 :

http://localhost:3000/products/9 

railscasts에 따라 제품 이름이 나와야합니다. 그러나 그렇지 않습니다. 개별적으로 보석을 설치했지만 효과는 없습니다.

아무도 내가 누락 된 부분을 말할 수 있습니까?

답변

0
이 가이드에서 언급되지 않는 이유

확실하지,하지만 시도 : to_param 방법은 URL의 ID 부분을 사용자 정의 할 수 있기 때문에

alias_attribute :to_param, :slug 

이 작동합니다. 그리고 여기에서 friend_id 생성 URL에 해당 부분을 할당합니다.

또 다른 해결책

이 friendly_id 내부에 구현 된 경우 내가 잘 모르겠지만, 나는이 한 :

class Product < ActiveRecord::Base 
    def self.find(id_or_slug) 
    case id_or_slug 
    when String 
     find_by_slug id_or_slug 
    else 
     super id_or_slug 
    end 
    end 
end