Я пытаюсь создать электронное письмо, которое отправляется, когда родитель (эквивалент пользователя) создает нового ребенка.Я много чего пробовал, но не могу понять, что я делаю неправильно.
У родителей много детей.Младенцы принадлежат родителям.
Я отправляю электронное письмо родителям, добавив
NewBabyMailer.new_baby_email(@parent).deliver
к этому блоку кода в babies_controller.rb
def create
@baby = Baby.new(params[:baby])
@parent = current_parent
if @baby.save
# @baby = Baby.find(params[:id])
NewBabyMailer.new_baby_email(@parent).deliver
redirect_to(root_url(:host => with_subdomain(@baby.subdomain)), :notice => 'Your baby was successfully added. Share this page with people and tell them to sign up to be notified when your baby is born')
else
render :action => "new"
end
end
В моем новом newbabymailer.rbу меня есть
class NewBabyMailer < ActionMailer::Base
default :from => "blah"
default :bcc => "blah"
@parent = parent
@baby = Baby.find_by_parent_id
# @baby = Baby.where(:parent_id = :params[:id])
def new_baby_email(parent)
mail(:to => parent.email, :subject => "Thanks for adding a baby", :bcc => "blah")
end
end
Но когда я вызываю такие вещи, как
<%= @baby.name.titleize %>
в моем newbabyemail.html.erb, я получаю
undefined method `baby' for nil:NilClass
Любые предложения относительночто я делаю не так?Я уверен, что это что-то действительно простое, но это озадачило меня на весь день.
Ура Павел