2012-07-08 3 views
2

에서 슬러그을 삭제합니다.friendly_id, 나는 <code>page</code>라는 모델의 <code>history</code> 모듈 <code>friendly_id</code>을 사용하고 그들이 더 이상 리디렉션하지 않고 다시 사용할 수 있도록 <code>friendly_id_slugs</code> 테이블에서 굼벵이를 삭제할 수 있도록하고 싶습니다 역사

것은 나는 가능한 솔루션의 부부와 함께 올하지만, 진행하는 방법이 확실하지 않은 :

  1. friendly_id_table을위한 새로운 모델과 컨트롤러를 만들고 다른 모델에 대한 내가하는 것처럼 일을 할
  2. 슬러그를 조회하고 파괴 pages_controller.rbdestroy_slug 조치를 추가
  3. - 그러나, 나는 어쩌면 FriendlyId::Slug.find()
  4. , 슬러그를로드하는 방법을 확실 해요하면 FriendlyId 네임 스페이스의 컨트롤러 만들기 - 아니 생각을 어떻게
  5. 을 수행하는

누구나 진행할 수있는 최선의 방법이나 # 2 또는 # 3 달성 방법으로 제안을 할 수 있습니까? 감사!

답변

5

저는 현재 너무 등이 구현 오전 :

# slug_controller.rb 
class SlugsController < ApplicationController 
    def destroy 
    @slug = FriendlyId::Slug.find(params[:id]) 
    @slug.destroy 
    redirect_to :back, :notice => "The URL <strong>/#{@slug.slug}</strong> has been removed" 
    end 
end 

# routes.rb 
resources :slugs, :only => :destroy 

# in a view 
<%= link_to 'Delete slug', slug_path(slug.id), :method => :delete %>