2012-07-08 142 views
2

我使用friendly_idhistory模塊一個名爲page模型,並希望能夠從friendly_id_slugs表中刪除蛞蝓,使他們不再重定向和可再次使用刪除蛞蝓。friendly_id,從歷史

我想出了幾個可能的解決方案,但我不能確定如何進行:

  1. 創建的friendly_id_table一個新的模型和控制器和做的事情,我會爲任何其他模式
  2. 一個destroy_slug行動加入pages_controller.rb看起來了蛞蝓和毀壞它 - 但是,我不能確定如何加載蛞蝓,也許FriendlyId::Slug.find()
  3. 創建於FriendlyId命名空間的控制器 - 不知道如何做到這一點

任何人都可以提出一個建議作爲繼續或如何完成#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 %>