2016-01-23 3 views
0

У меня возникли проблемы с созданием кнопки отправки сообщения с почтовым ящиком почтового ящика. Я использовал этот учебник в качестве руководства «http://josephndungu.com/tutorials/private-inbox-system-in-rails-with-mailboxer», где, как и многие другие, вы должны выбрать получателя из списка всех пользователей.Рубин на рельсах. Mailboxer send message button

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

Сообщение не отправляется и отображается только в отправленном поле отправителя.

вот мой код:

<%= link_to '', new_conversation_path(:recipients_id => @user.id), class: 'send-message-icon' %> 

Также пробовал:

<%= link_to '', new_conversation_path(:recipients_id => @user), class: 'send-message-icon' %> 

_form: (. Правильный пользователь ID показывает в текстовом поле я позже удалить текстовое поле)

<%= form_for :conversation, url: :conversations, html: { class: "" } do |f| %> 
<div class="form-group"> 
    <%= f.label :recipients %> 
    <%= f.text_field :recipients, :value => params[:recipients_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" %> 

контролер:

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 

модель Пользователь:

acts_as_messageable 
    before_destroy { messages.destroy_all } 

Я не могу понять, почему он не работает. Любые предложения будут оценены, спасибо.

ответ

0

После часа # $% "#" $% # $ @ вокруг, я получил его работу.

Отправить ссылку сообщение от везде, где:

<%= link_to '', new_conversation_path(:recipient_id => @user.id), class: 'send-message-icon' %> 

_form:

<%= 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 %> 

контроллера:

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!" 
    redirect_to conversation_path(conversation) 
    end 
Смежные вопросы