发送请求/接受友谊通知



我有一个相互的友谊模型,其中一个用户请求一个友谊,并用current_user的user_id和朋友的friend_id创建一个模型。

然后朋友接受了它,并创建了另一个反向模型。

现在我正试图就这两种情况发出通知。问题是,我的代码中的@friend(current_user(似乎为零,或者根本不起作用。

def notify_friend_request
@friend = params[:friend]
@url  = 'http://localhost:3000'
@first_name = @friend.first_name
@last_name = @friend.last_name
@email = @friend.email
@sent_user = current_user
@sent_user_first_name = @sent_user.first_name
@sent_user_last_name = @sent_user.last_name

mail(to: @email,
subject: 'You have a new friend request!')

可能出了什么问题?我真的很感激你的帮助。

我的友情控制器,创建方法如下。根据请求或接受,似乎会调用适当的邮件发送方法(notify_friend_request vs.accept(

def create
@inviting_user = User.find(current_user.id)
@friend = User.find(params[:friend_id])
@friendship = current_user.friendships.build(:friend_id => params[:friend_id])
if @friendship.save
if @friend.friends.include? current_user
UserMailer.with(friendship: @friendship).notify_friend_accept.deliver_later
else 
UserMailer.with(friendship: @friendship).notify_friend_request.deliver_later
end

我用这段代码解决了这个问题。发布一个问题真的让我头脑清醒:

def notify_friend_request
@friendship = params[:friendship]
@url  = 'http://localhost:3000'
@first_name = User.find(@friendship.user_id).first_name
@last_name = User.find(@friendship.user_id).last_name
@sent_user = User.find(@friendship.friend_id)
@sent_user_first_name = @sent_user.first_name
@sent_user_last_name = @sent_user.last_name
@email = @sent_user.email

mail(to: @email,
subject: 'You have a new friend request!')
end

最新更新