Удалить строку из представления как сохранить как файл cookie - PullRequest
0 голосов
/ 20 сентября 2010

У меня есть таблица базы данных с записями, и я показываю их на странице просмотра, как показано ниже.alt text


мой вопрос: если я нажму кнопку «Удалить», соответствующая «цитата» не должна быть удалена из базы данных, но она должна быть удалена со страницы просмотра только для моего браузера (с использованием файлов cookie?) (не касается других компьютеров).Как я могу это реализовать?Спасибо.

Уничтожить вид, как показано ниже:

<%= link_to "Destroy",quotation_path(p),:method=>:delete  %>

и контроллер:

def destroy
    @quotation = Quotation.find(params[:id])
    @quotation.destroy

    respond_to do |format|
      format.html { redirect_to(quotations_url) }
      format.xml  { head :ok }
    end
  end  

1 Ответ

0 голосов
/ 21 сентября 2010

Не используйте метод Destroy.Вы не уничтожаете запись, вы просто скрываете ее для одного пользователя.Предположительно, есть другие пользователи, которые все еще хотят видеть это.Создайте отдельный метод скрытия в quotation_controller и отобразите его в route.rb.

Не используйте куки.Выбор пользователя не будет сохраняться на разных клиентах.Сохранить шкуры в базе данных.Реализуйте связь «многие ко многим» между пользователями и цитатами, чтобы определить, какие цитаты пользователь решил скрыть (или просмотреть).Метод hide связывает (или де-ассоциирует) пользователя с цитатой.Вам также необходимо изменить метод индекса, чтобы удалить все скрытые кавычки из представления, или выполнить named_scope в модели цитат, чтобы возвращать только невидимые кавычки для этого пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...