2016-05-30 4 views
0

Ich bin neu bei Rails, und ich fand dieses Juwel Mailer zum Senden von Nachrichten zwischen den Benutzern der Website. Ich kann die Suchfunktionen für inbox und sent nicht schreiben.Hinzufügen von Suchfunktion für Edelstein-Mailbox

Gespräche Controller

class ConversationsController < ApplicationController 
    before_action :authenticate_user! 

    def new 
    end 

    def create 
    recipients = User.where(id: conversation_params[:recipients]) 
    conversation = current_user.send_message(recipients, conversation_params[:body], conversation_params[:subject]).conversation 
    flash[:success] = "Your message was successfully sent!" 
    redirect_to conversation_path(conversation) 
    end 

    def show 
    @receipts = conversation.receipts_for(current_user) 
    # mark conversation as read 
    conversation.mark_as_read(current_user) 
    end 

    def reply 
    current_user.reply_to_conversation(conversation, message_params[:body]) 
    flash[:notice] = "Your reply message was successfully sent!" 
    redirect_to conversation_path(conversation) 
    end 

    def trash 
    conversation.move_to_trash(current_user) 
    redirect_to mailbox_inbox_path 
    end 

    def untrash 
    conversation.untrash(current_user) 
    redirect_to mailbox_inbox_path 
    end 

private 

    def conversation_params 
    params.require(:conversation).permit(:subject, :body,recipients:[]) 
    end 

    def message_params 
    params.require(:message).permit(:body, :subject) 
    end 
end 

Was muss ich tun, diese zu implementieren?

Antwort

0

Ich bin mir nicht bewusst über das Juwel, über das Sie sprechen. Im Allgemeinen könnten Sie jedoch in Rails so etwas tun.

Angenommen, Sie ein Modell der Nachricht haben, mit name als Spalte, Sie könnten dies tun:

Message.where("name like ?", params[:name]) 

wo params[:name] könnte entweder „Posteingang“ oder „gesendet“ werden.