2016-10-13 3 views
0

ウェブサイト内のメッセージをフィルタリングして、未読および未読にします。未読のボタンをクリックすると、未読のメッセージだけが表示されます。これは読み取りと同様に機能するはずです。私はこれを作るためにレールを使います。未読/未読のメッセージをフィルタリングする

私が手にこのコードで

"paramは存在しないか、値が空である: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はデフォルトでmethodPOSTに設定されています。これは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 } 
+0

私は未読をクリックするか、読んだときに私が得るので、私は未読のparamsを変更することはできませんだと思う「ゼロのための未定義のメソッド 'それぞれの」:NilClass」エラー –

関連する問題