Я пытаюсь отправить электронную почту пользователям, которые подписываются на других пользователей, отправляя сообщения.Rails 4 Передача электронной почты Mailer
Я получаю сообщение об ошибке:
ActiveRecord::RecordNotFound - Couldn't find User with 'id'=272:
272 является идентификатор одной из подписок. Я смущаюсь со всеми движущимися частями здесь. Как я могу отправить подписчиков?
Сообщений Контроллер
def create
@post = current_user.posts.new(post_params)
if @post.save
@subscribers = current_user.subscribers
@subscribers.each do |f|
SubscriptionMailer.send_prayer_request(@post, f).deliver
end
[...]
Подписка Mailer
class SubscriptionMailer < ActionMailer::Base
def send_prayer_request(post, subscriber)
@u = User.find(subscriber)
mail( :to => @u.email,
:from => "[email protected]",
:subject => "New Post! "
)
end
end
пользователя Модель
def subscribers
Subscription.where(subscribe_to_id: self.id)
end
схемы для соответствующих таблиц
create_table "subscriptions", force: :cascade do |t|
t.integer "user_id"
t.integer "subscribe_to_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
create_table "users", force: :cascade do |t|
t.string "email", default: "", null: false
t.string "username", default: "", null: false
t.string "first_name"
t.string "last_name"
end
Спасибо за любую помощь вы можете предложить.
Спасибо! Я знал, что я недалеко, но ничего не сделал. Все еще обертываю голову вокруг Rails. :) –
Рад помочь Рич. –
btw люблю ваш сайт в качестве единоверца :) GB –