3

我正在friendly_id将该history模块用于一个名为的模型page,并希望能够从friendly_id_slugs表中删除 slug,以便它们不再重定向并可以再次使用。

我想出了几个可能的解决方案,但不确定如何进行:

  1. 创建一个新的模型和控制器,friendly_id_table并像对待任何其他模型一样做事
  2. 添加一个destroy_slug动作来pages_controller.rb查找蛞蝓并销毁它 - 但是,我不确定如何加载蛞蝓,也许FriendlyId::Slug.find()
  3. 在命名空间中创建一个控制器FriendlyId- 不知道怎么做

任何人都可以提出建议作为最好的方法或如何完成#2或#3?谢谢!

4

1 回答 1

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 %>
于 2012-07-08T15:18:30.517 回答