2016-09-25 14 views
1

私はまた、ActsAsParanoid gemを使ってRails 4.2を使って、データベースからアイテムをソフトに削除しています。私は、インデックス.only_deletedオブジェクトへのコントローラのアクションを作成しましたlink_toソフト削除されたアイテムを回復する方法は?

...私はフレーバーのをレンダリングするために、部分的_flavorを使用しています、そして、私は疑問に思う

class FlavorsController < ApplicationController 
    ... 
    def inactive 
     @flavors = Flavor.only_deleted 
     render action: :index 
    end 
    ... 
    end 

sample_controller.rbこのオブジェクトを復元するにはlink_toヘルパーを表示するには?私inactive_indexで何かのような...ファンタさんのコメントに

<%= link_to "Recover", flavor.recover %> 
+0

あなたはすでにあなたの答えのほとんどを持っています。おそらく 'flavors'コントローラに' def recover'のような新しいアクションを追加するだけで、 '@ flavor.recover'を実行するだけです。また、その新しいアクションのために新しいメンバールートを追加する必要があります。そのアクションでは、 '@ flavor'をロードする必要があります。そして、あなたの 'link_to'で追加されたルートを使用してください。 – fanta

+0

@fantaあなたが言ったようにもっと詳しく答えてもらえますか?しかし、それはエラー 'ActiveRecord :: RecordNotFound in FlavorsController#recover 'Flavor'が 'id' = 1で見つかりませんでした[WHERE" flavors " deleted_at "IS NULL]' –

+0

クエリに 'with_deleted'スコープがないように思えます。 'Flavor.with_deleted.find(params [:id])'のように。 – messanjah

答えて

0

おかげで、私は答えを見つけることができる...

第一追加メンバー私のルートに

resources :flavors 
    collection do 
     get 'inactive' 
    end 
    member do 
     get 'recover' 
    end 
    end 

その後。 html.erb私は以下のリンクを追加しました

<%= link_to recover_flavor_path(flavor) %> 
関連する問題