在我的应用程序中,用户有对话,对话有消息。消息既属于用户(作为作者),也属于会话。
我想创建一条新消息。这是我现在在MessagesController中使用的代码。
def new
  @user = current_user #currently logged in user
  @conversation = Conversation.find(params[:id])
  @message = @conversation.messages.build
end
def create
  @conversation = Conversation.find(params[:conversation_id])
  @message = @conversation.messages.build(params[:message])
  if @message.save
    redirect_to username_conversation(current_user, @message.conversation)
  else
    redirect_to root_url
  end
end参数: message包含消息内容(" content“=> "I'm Spartacus")。
这不起作用(可能是因为我在创建新消息时没有指定用户/作者?)。我如何让它在Rails中工作?
谢谢。
发布于 2011-07-18 00:00:15
您需要手动设置用户。使用Rails提供的简短方法只能设置一个属性。
def new
  @user = current_user #currently logged in user
  @conversation = Conversation.find(params[:id])
  @message = @conversation.messages.build
  @message.user = user
end
def create
  @conversation = Conversation.find(params[:conversation_id])
  @message = @conversation.messages.build(params[:message])
  @message.user = current_user
  if @message.save
    redirect_to username_conversation(current_user, @message.conversation)
  else
    redirect_to root_url
  end
endhttps://stackoverflow.com/questions/6725024
复制相似问题