J'ai essayé de personnaliser la gemme Mailboxer pour répondre à mes besoins. Il y a d'autres publications SO qui font référence à des fonctionnalités similaires, mais je voulais poser cette question car elle est quelque peu différente.Personnalisation de la gemme Mailboxer - Rails 4 - Envoyer un message lié à une liste
I mes messages Controller remaniée avec de ceci:
def new
@user = User.find_by(id: params[:user])
end
def create
recipients = User.where(id: params['recipients'])
conversation = current_user.send_message(recipients, params[:message][:body], params[:message][:subject]).conversation
flash[:success] = "Message has been sent!"
redirect_to conversation_path(conversation)
end
Pour:
def new
@user = User.find_by(id: params[:user])
@message = current_user.messages.new
@listing = Listing.find_by(id: params[:listing])
end
def create
@recipient = User.find_by(id: params[:user])
conversation = current_user.send_message(@recipient, "Hello", "Subject").conversation
flash[:notices] = ["Your message was successfully sent to the seller"]
redirect_to root_path
end
Je puis également ajouté aux messages/new.html.erb:
Send a message to
<%= @user.email %>
<%= form_tag({controller: "messages", action: "create"}, method: :post) do %>
<%= hidden_field_tag(:listing, "#{@listing.id}") %>
<%= hidden_field_tag(:user, "#{@user.id}") %>
<%= submit_tag 'Send Message', class: "btn btn-primary" %>
<% end %>
Cela permet moi pour accéder à l'objet utilisateur auquel j'envoie le message ainsi que l'identifiant de la liste afin que le message puisse être lié à une liste.
Github repo: https://github.com/benhawker/rails_marketplace/tree/master/app
Le modèle utilisateur comprend: acts_as_messageable
Je ne tire aucune erreur, mais après avoir validé dans les rails console de l'utilisateur que je cherchais à envoyer le message à a nul Si quelqu'un qui a essayé de faire la même chose avec Mailboxer est capable d'expliquer où je me trompe, je l'apprécierais vraiment.
conversation = current_user.send_message(@recipient, "Hello", "Subject").conversation
Je suis conscient du fait que cette ligne est probablement la clé - Je ne comprends pas bien le but du .conversation
après avoir passé les arguments dans la méthode send_message
la gemme Mailboxer offre.
était à la recherche d'une solution pour cela pour les hourras semaines accouple – Abhilash
Je suis heureux de l'entendre! –
ne peux pas le faire fonctionner ..Pourriez-vous s'il vous plaît fournir les autres fichiers pertinents du système de messagerie comme les messages controller, inquiries/new.html.erb, routes fichier etc – Abhilash