Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 邮件发送无记录_Ruby On Rails_Ruby_Ruby On Rails 5 - Fatal编程技术网

Ruby on rails 邮件发送无记录

Ruby on rails 邮件发送无记录,ruby-on-rails,ruby,ruby-on-rails-5,Ruby On Rails,Ruby,Ruby On Rails 5,我运行的任务,以取消一个网站,以获得一些音乐会的日期 我的任务是查找/更新音乐会(日期和城市),并将其记录在数据库中。我可以在rails控制台中找到它们,也可以在索引和显示视图中显示它们。 顺便说一句,它似乎没有通过ConcertController中的create方法(我尝试了binding.pry) 任务运行后,如果发现新记录,我希望收到电子邮件警报。当我收到电子邮件时,它不完整: concert\u mailer/new\u dates.html.erb <p>The boys

我运行的任务,以取消一个网站,以获得一些音乐会的日期

我的任务是查找/更新音乐会(日期和城市),并将其记录在数据库中。我可以在rails控制台中找到它们,也可以在索引和显示视图中显示它们。 顺便说一句,它似乎没有通过ConcertController中的create方法(我尝试了binding.pry)

任务运行后,如果发现新记录,我希望收到电子邮件警报。当我收到电子邮件时,它不完整:

concert\u mailer/new\u dates.html.erb

<p>The boys are playing at <%= @concert.city %> on <%= @concert.date %></p>
#returns The boys are playing at on 

<p>The boys are playing at <%= @concert.inspect %> </p>

#returns: The boys are playing at <Concert id: 1, date: nil, city: nil, created_at: "2017-12-05 20:32:09", updated_at: "2017-12-05 20:32:09"> 
class Concert < ApplicationRecord
   after_create :send_notification

   def send_notification
    ConcertMailer.new_dates(self).deliver_now
   end
end
class ConcertMailer < ApplicationMailer

  default from: "concert@mountain-men.fr"

  def new_dates(concert)
    @concert = concert

    mail( to:   "email@exemple.com",
         subject:  "The boys are back in town"
        )
  end
end
concert.rb

<p>The boys are playing at <%= @concert.city %> on <%= @concert.date %></p>
#returns The boys are playing at on 

<p>The boys are playing at <%= @concert.inspect %> </p>

#returns: The boys are playing at <Concert id: 1, date: nil, city: nil, created_at: "2017-12-05 20:32:09", updated_at: "2017-12-05 20:32:09"> 
class Concert < ApplicationRecord
   after_create :send_notification

   def send_notification
    ConcertMailer.new_dates(self).deliver_now
   end
end
class ConcertMailer < ApplicationMailer

  default from: "concert@mountain-men.fr"

  def new_dates(concert)
    @concert = concert

    mail( to:   "email@exemple.com",
         subject:  "The boys are back in town"
        )
  end
end
class Concert
concert\u mailer.rb

<p>The boys are playing at <%= @concert.city %> on <%= @concert.date %></p>
#returns The boys are playing at on 

<p>The boys are playing at <%= @concert.inspect %> </p>

#returns: The boys are playing at <Concert id: 1, date: nil, city: nil, created_at: "2017-12-05 20:32:09", updated_at: "2017-12-05 20:32:09"> 
class Concert < ApplicationRecord
   after_create :send_notification

   def send_notification
    ConcertMailer.new_dates(self).deliver_now
   end
end
class ConcertMailer < ApplicationMailer

  default from: "concert@mountain-men.fr"

  def new_dates(concert)
    @concert = concert

    mail( to:   "email@exemple.com",
         subject:  "The boys are back in town"
        )
  end
end
class-ConcertMailer
在用数据更新
Concert
对象之前,将调用用于触发电子邮件的创建后回调。在保存
Concert
对象之前,请尝试向字段中添加值,而不是创建空对象

大概是这样的:

data.each do |concert|
  c = Concert.new
  c.date = concert[0]
  c.city = concert[1]
  c.save
end
或者这个:

data.each do |concert| 
  Concert.create(date: concert[0], city: concert[1]) 
end 
这样,您将在触发\u create
回调后的
之前保存值