Я использую Rails 4.2, а также используя камень ActsAsParanoid для мягкого удаления элементов из базы данных.Как создать link_to восстановить мягкие удаленные элементы?
Я создал действие контроллера для индексирования .only_deleted
объектов ...
sample_controller.rb
class FlavorsController < ApplicationController
...
def inactive
@flavors = Flavor.only_deleted
render action: :index
end
...
end
Я использую частичную _flavor
для визуализации Flavor-х, И мне интересно как сделать link_to
просмотреть помощников для восстановления этого объекта? Что-то вроде ...
<%= link_to "Recover", flavor.recover %>
у вас уже есть большая часть вашего ответа. Возможно, вам нужно добавить новое действие к вашему контроллеру 'flavors', что-то вроде' def recover', и в этом действии просто '@ flavor.recover'. Вам также нужно будет добавить новый маршрут участника для этого нового действия, и в этом действии вам нужно будет загрузить «@ flavor». Затем просто используйте добавленный маршрут в свой 'link_to'. – fanta
@fanta, пожалуйста, ответьте более подробно, как я сделал, как вы сказали, но он возвращает ошибку 'ActiveRecord :: RecordNotFound в FlavorsController # recover. Не удалось найти Flavor с 'id' = 1 [WHERE" flavors "." deleted_at "IS NULL]' –
Похоже, что в вашем запросе отсутствует область 'with_deleted'. Как 'Flavor.with_deleted.find (params [: id])'. – messanjah