rails mailboxer неопределенный метод `mailboxer_email'
Я использую gem почтового ящика, я могу отправлять и получать сообщения от одного и того же пользователя (самостоятельно), dexter может отправлять сообщения в dexter, но когда я вхожу в систему как dexter2 и отправляю сообщения в dexter, я получаю неопределенную ошибку метода, когда нажимаю Нажмите кнопку "Назад" и обновите разговор, сообщения есть, поэтому сообщение отправляется, но я продолжаю получать
undefined method 'mailboxer_email" for #<User:0x007f6ed0907040>
messages_controller:
class MessagesController < ApplicationController
def new
@user = User.find_by_username(params[:user])
@message = current_user.messages.new
конец
# POST /message/create
def create
@recipient = User.find_by_username(params[:user])
current_user.send_message(@recipient, params[:body], params[:subject])
flash[:notice] = "Message has been sent!"
redirect_to :conversations
end
end
беседы /show.html.erb
<%= conversation.subject %>
A conversation with
<% conversation.participants.each do |participant| %>
<% if participant != current_user %>
<%= participant.username%>
<% end %>
<% end %>
<%= content_tag_for(:li, conversation.receipts_for(current_user)) do |receipt| %>
<% message = receipt.message %>
<%= message.sender.username %>
<%= simple_format h message.body %>
Sent <%= conversation.updated_at.strftime("%a, %m/%e/%Y %I:%M %p") %>
<% end %>
<%= render 'messages/form', conversation: conversation %>
Сообщения / форма
Reply:
<%= form_for :message, url: [:reply, conversation] do |f| %>
<%= f.text_area :body %>
<%= f.submit "Send Message", class: 'btn btn-primary' %>
<%= submit_tag 'Clear Reply Box', type: :reset, class: 'btn btn-danger' %>
<% end %>
Сообщения /new.html.erb
Send a message to
<%= @user.username %>
<%= form_tag({controller: "messages", action: "create"}, method: :post) do %>
<%= label_tag :subject %>
<%= text_field_tag :subject %>
<%= label :body, "Message text" %>
<%= text_area_tag :body %>
<%= hidden_field_tag(:user, "#{@user.username}") %>
<%= submit_tag 'Send message' %>
<% end %>
1 ответ
Для того, что я прочитал в документации, вы должны определить этот метод внутри вашей модели:
def mailboxer_email(object)
#return the model's email here
end
Это гарантирует, что ваша модель имеет то, что почтовому ящику нужно для идентификации ресурса, вы можете проверить документацию здесь
Инициализатор (config/initializer /mailboxer.rb):
Mailboxer.setup do |config|
# ...
#Configures the methods needed by mailboxer
config.email_method = :email
end