我想实现用户A可以向用户B发送消息的功能。假设用户A正在查看用户B的配置文件并单击发送消息链接,我如何确保只有用户B将会收到该消息。换句话说,在创建操作中,我如何捕获用户B?我能够在新操作中捕获用户B,但不能在创建操作中捕获。这是我到目前为止:如何捕获发送msg的创建操作中的用户?
class MessagesController < ApplicationController
def new
@message = Message.new
@recipient = User.find_by_identifier!(params[:id])
end
def create
@message = Message.new(params[:message])
@message.recipient = @recipient
@message.sender = current_user
if @message.save
flash[:notice] = "Message has been sent"
redirect_to messages_path(:mailbox=>:sent)
else
render :action => :new
end
end
end
因此,发送消息链接传递给新动作的用户B的参数。因此@recipient
中的新动作是用户B,我可以显示用户B的姓名和照片。但@recipient
在创建操作中为零。我如何确保创建操作中的@recipient是用户B?
感谢这也帮助! – pratski 2013-04-22 10:51:10