Фильтрация сообщений на непрочитанные и прочитанные рельсы

Я хочу отфильтровать свои сообщения на веб-сайте для прочтения и прочтения. когда я нажимаю кнопку "непрочитанные", должны быть просто непрочитанные сообщения, и это должно работать так же, как и чтение. Я использую рельсы, чтобы сделать это.

В этом коде я получаю "параметр отсутствует или значение пусто: mailboxer_message" ошибка

index.html.haml

  = button_to "Read", messages_path(unread: 1), class: 'btn btn-success'
  = button_to "Unread", messages_path(unread: 0), class: 'btn btn-success'

messages.controller.rb

class MessagesController < ApplicationController
      def index
        add_breadcrumb "Inbox", :messages_path
        @messages = current_admin.mailbox.inbox.order('updated_at DESC')
        if params[:unread] == 1
          @messages = mailbox.inbox(:unread => true)
        elsif params[:unread] == 0
          @messages = mailbox.inbox(:unread => false)
        end
      end
       .......
      def message_params
        params.require(:mailboxer_message).permit(:conversation_id, :body, :attachment, :recipients, :subject, :unread)
      end

1 ответ

button_to задавать method в POST по умолчанию. Вы можете изменить это method, Затем вы можете передать параметры по params,

= button_to "Read", messages_path, class: 'btn btn-success', method: :get, params: { unread: 1 }
= button_to "Unread", messages_path, class: 'btn btn-success', method: :get, params: { unread: 0 }
Другие вопросы по тегам