【问题标题】:undefined method `split' for nil:NilClass when sending mail, on stagingnil:NilClass 的未定义方法`split' 发送邮件时,暂存
【发布时间】:2015-01-24 16:37:58
【问题描述】:

在暂存时发送邮件时为 nil:NilClass 定义的未定义方法 `split'。

NoMethodError: nil:NilClass 的未定义方法`split'

有没有人遇到过这个错误?在开发环境中,字母走的很完美

21 File "/var/www/vectoring-staging/releases/20140505020949/app/models/feedback.rb" line 11 in deliver
22 File "/var/www/vectoring-staging/releases/20140505020949/app/controllers/feedbacks_controller.rb" line 4 in "createp/controllers/feedbacks_controller.rb" line 4 in create

class FeedbacksController < ApplicationController
  def create
    @feedback = Feedback.new(params[:feedback])
    @feedback.deliver if @feedback.valid?
  end
end

class Feedback
  include ActiveModel::Model

  attr_accessor :email, :message
  attr_writer :subject

  validates :message, presence: true, allow_blank: false
  validates_format_of :email, with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, allow_blank: true

  def deliver
    FeedbackMailer.new_feedback(self).deliver
  end

  def subject
    @subject = 'A new feedback' if @subject.blank?
    @subject
  end
end

class FeedbackMailer < ActionMailer::Base
  layout 'email'

  def new_feedback(feedback)
    @message = feedback.message
    mail(to: APP_CONFIG.feedback['to_send'], subject: feedback.subject, reply_to: feedback.email)
  end
end

【问题讨论】:

  • 你调用.split的方法在哪里?
  • 你能发布完整的错误信息吗?
  • @WaliAli 那就是我从来没有打电话给split
  • 我明白你在说什么。该方法必须来自其中一个 gem,或者可能是一个错误。

标签: ruby-on-rails ruby-on-rails-4


【解决方案1】:

检查您电子邮件中资产(即 CSS)的路径是否正确(并且存在)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多