【发布时间】:2020-10-23 14:03:58
【问题描述】:
我有一个相互友谊模型,其中一个用户请求建立友谊并创建一个模型,其中包含当前用户的 user_id 和朋友的 friend_id。
然后朋友接受它并创建另一个逆模型。
现在我正在尝试针对这两种情况发送通知。问题是我的代码中的@friend(也是current_user)似乎为nil,否则就是无法正常工作。
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
【问题讨论】:
标签: ruby-on-rails ruby devise