Я хотел бы отправить электронное письмо при регистрации проекта (с категорией и приемлемой аудиторией) каждому пользователю, который создал оповещение (с той же категорией и такой же приемлемой аудиторией).
МОДЕЛЬ
class Project
belongs_to :category
belongs_to :fondation
has_many :project_eligibles
has_many :eligibles, through: :project_eligibles
end
class Category
has_many :projects
has_many :alerts
end
class ProjectEligible
belongs_to :project
belongs_to :eligible
end
class Alert
belongs_to :user
belongs_to :category
belongs_to :eligible
end
ПОЧТА
class ProjectMailer < ApplicationMailer
def newproject(project)
@project = project
mail(
to: mails = User.joins(:alerts).where(alerts: {category_id: project.category_id}).collect(&:email).join(","),
subject: "New project for you !"
)
end
end
КОНТРОЛЛЕР
class ProjectsController < ApplicationController
def create
@project = Project.new(project_params)
if @project.save
ProjectMailer.newproject(@project).deliver_now
redirect_to projects_path
else
render :new
end
end
end
работает скатегория, но я не могу сделать это с подходящей аудиторией (ассоциация many_to_many):
def newproject(project)
@project = project
mail(
to: mails = User.joins(:alerts).where(alerts: {eligible_id: project.project_eligibles.where(:eligible_ids)}).collect(&:email).join(","),
subject: "New project for you !"
)
end
end
И что еще сложнее, я не знаю, как это сделать с двумя условиями ??У кого-нибудь есть идея протестировать?
Заранее огромное спасибо за вашу помощь!