0
我已经从头开始创建消息收件箱。它已经工作了一个多星期了,现在它崩溃了,给我一个名为“MessagesController#index中的NoMethodError”的“private method`received_messages'”错误。控制器中的私人方法`received_messages'
由于某种原因,当我昨天使用应用程序(我不推送使用终端)推送新的更新到Github时,我的应用程序的某些部分停止工作,我必须修复。我知道当你推送文件时它不会改变你的代码,但是这不是第一次发生。任何人都知道我可以如何解决这个错误?
我只在点击提交新消息时收到错误消息。
消息控制器:
class MessagesController < ApplicationController
before_filter :set_user
def index
if params[:mailbox] == "sent"
@messages = @user.sent_messages
elsif params[:mailbox] == "inbox"
@messages = @user.received_messages
#elsif params[:mailbox] == "archieved"
# @messages = @user.archived_messages
end
end
def new
@message = Message.new
if params[:reply_to]
@reply_to = User.find_by_user_id(params[:reply_to])
unless @reply_to.nil?
@message.recepient_id = @reply_to.user_id
end
end
end
def create
@message = Message.new(params[:message])
@message.sender_id = @user_id
if @message.save
flash[:notice] = "Message has been sent"
redirect_to user_messages_path(current_user, :mailbox=>:inbox)
else
render :action => :new
end
end
def show
@message = Message.find(params[:id])
@message.readingmessage if @message.recepient == current_user
end
def delete_multiple
if params[:delete]
params[:delete].each { |id|
@message = Message.find(id)
@message.mark_message_deleted(@message.id,@user_id) unless @message.nil?
}
flash[:notice] = "Messages deleted"
end
redirect_to user_messages_path(@user, @messages)
end
private
def set_user
@user = current_user
end
end
'received_messages'现在在'用户'私人' – apneadiving 2013-04-04 15:10:16
那么删除私有方法?那是在上周发生的,并且它工作正常(这是在昨天最后一次提交之前) – pwz2000 2013-04-04 15:12:04
如果您在承诺难以诊断之前和之后都无法检查代码,但正如apneadiving所说,该方法似乎是私有的用户类。我假设你的代码中有一行读取'private',之后显示你的'received_messages'方法。要么移动'私人'行上面的方法,要么完全移除'私人'行。 – 2013-04-04 15:16:35