J'ai une application rails où les utilisateurs peuvent ajouter un poste et d'autres utilisateurs peuvent les commenter j'essayais d'ajouter un lien de message direct avec les utilisateurs qui commenter, j'ai essayé quelque chose comme ce qui suit une suggestion sur stackoverflowrails montrant l'erreur ActiveRecord_Associations tout en ajoutant un lien de message d'envoi
_form.html.erb
<%= form_for :conversation, url: :conversations, html: { class: "" } do |f| %>
<div class="form-group">
<%= f.label :recipients %>
<%= hidden_field_tag(:recipient_id, "#{@user.id}") %></div>
<div class="form-group">
<%= f.label :subject %>
<%= f.text_field :subject, placeholder: "Subject", class: "form-control" %>
</div>
<div class="form-group">
<%= f.label :message %>
<%= f.text_area :body, class: 'form-control',placeholder: "Type your message here", rows: 4 %>
</div>
<%= f.submit "Send Message", class: "btn btn-success" %>
<% end %>
show.html.erb
<%= link_to 'Send Message', new_conversation_path(:recipient_id => @post.comments.user.id), class: 'send-message-icon' %>
**conversation_controller.rb**
def new
@user = User.find_by(id: params[:recipient_id])
end
def create
recipients = User.find_by(id: params[:recipient_id])
conversation = current_user.send_message(recipients, conversation_params[:body], conversation_params[:subject]).conversation
flash[:success] = "Your message was successfully sent!"
respond_to do |format|
format.html {redirect_to conversation_path(conversation)}
format.js
end
end
Mais je reçois l'erreur suivante
undefined method `user' for #<Comment::ActiveRecord_Associations_CollectionProxy:0x93b1018>
J'utilise gem mailboxer pour la fonctionnalité de messagerie.
merci bro ..... merci beaucoup –