У меня есть блог, в котором есть модель комментирования каждого поста. У меня есть почтовая программа, настроенная так, что автор сообщения получает уведомление по электронной почте, когда кто-то прокомментировал его сообщение. Сейчас я хочу сделать оповещение по электронной почте, которое будет отправлено всем остальным пользователям, которые также прокомментировали этот пост. Я думаю, что мне понадобится оператор if/then, но я еще не совсем понял это.
Вот мой контроллер при создании сообщений:
def create
@post = Post.find(params[:post_id])
@blog_comment = @post.blog_comments.create(params[:blog_comment])
@blog_comment.user = current_user
respond_to do |format|
if @blog_comment.save
format.html { redirect_to @post, notice: 'Blog comment was successfully created.' }
format.json { render action: 'show', status: :created, location: @blog_comment }
else
format.html { render action: 'new' }
format.json { render json: @blog_comment.errors, status: :unprocessable_entity }
end
end
Вот мой почтовик:
def blog_comment(user)
@user = user
mail(to: [user.email],
bcc: ['[email protected]'],
from: '[email protected]',
subject: 'Hi from theTens!')
end
В моделях: Каждое сообщение имеет_много_комментариев_блога, сообщения принадлежат_пользователю, комментарии_блога принадлежат_сообщению и принадлежат_пользователю.