4

发送消息时,我可以在控制台中看到:

Sent mail to You should add method :mail_email in your Messageable model (2093ms
)
Date: Wed, 07 Nov 2012 14:08:50 +0100
From: mail@myemail.com
to: You should add method :mail_email in your Messageable model

Mailbox gem 的初始化器:

Mailboxer.setup do |config|

  #Configures if you applications uses or no the email sending for Notifications and Messages
  config.uses_emails = true

  #Configures the default from for the email sent for Messages and Notifications of Mailboxer
  config.default_from = "mail@myemail.com"

  #Configures the methods needed by mailboxer
  config.email_method = :mail_email
  config.name_method = :name

  #Configures if you use or not a search engine and wich one are you using
  #Supported enignes: [:solr,:sphinx] 
  config.search_enabled = false
  config.search_engine = :solr
end

在我的用户模型中,我有:

acts_as_messageable
  def name
    email
  end

 def mail_email
    @mail_email = self.email
 end

但是在发送消息时我看到了这个错误:

 ArgumentError in ConversationsController#reply

wrong number of arguments (1 for 0)

Rails.root: C:/rails/sitesale
Application Trace | Framework Trace | Full Trace

app/models/user.rb:17:in `mail_email'
app/controllers/conversations_controller.rb:22:in `reply'

控制器方法回复:

  def reply
    current_user.reply_to_conversation(conversation, *message_params(:body, :subject))
    redirect_to conversation
  end
4

1 回答 1

7

它应该是:

def mail_email(object)
    email
end

对象)很重要。

于 2012-11-07T15:38:58.817 回答