2011-01-16 3 views
0

Mongoid를 사용하여 Rails 3에서 모델의 URL을 slugify하고 싶습니다. 문제는 슬러그에서 사용하려는 필드가 하위 모델에있는 것입니다. 나는이에 대한 해결책을 찾기 위해 mongoid-slug 보석을 사용하고 나의 시도는 지금까지 이것이다 :하위 모델의 필드를 사용하여 상위 모델을 slugify하는 방법은 무엇입니까?

class Building 
    references_one :address 

    def to_param 
    address.to_param 
    end 
end 

class Address 
    referenced_in :building 

    field :houseno 
    field :street 

    slug :houseno, :street 
end 

을이 날 building_path(building)를 호출하여 올바른 URL을 형성 할 수 있지만, 페이지가 올바른 값을 포함하지 않습니다. 오류 메시지는 객체 ID가 올바르지 않다고 불평하며, Rails가 to_param에 의해 레코드를 수신하도록하는 방법을 모르겠습니다.

답변

0

궁금한 점이 있다면, 여기에 제가 어떻게 저 자신의 문제를 해결했는지입니다. 나는

@building = Address.find_by_slug(params[:id]).building 

그리고 짜잔에

@building = Building.find(params[:id]) 

에서 show 액션을 변경 사용하는 데 필요한 것을 깨달았다! 그것은 작동합니다.

관련 문제