Я создал почтовый ящик сообщений с нуля. Он работает более недели, и теперь он сломался, давая мне ошибку «private method` received_messages »с заголовком« NoMethodError в MessageController # index ».частный метод `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' теперь закрыт в' User' – apneadiving
Итак, удалите частный метод? Это было на прошлой неделе, и он работал нормально (что было до последнего коммита вчера) – pwz2000
Без возможности проверить код до и после вашего фиксации, его трудно диагностировать, но, как сказал apneadiving, метод кажется закрытым для пользовательский класс. Я предполагаю, что в вашем коде есть строка, которая читает 'private', после чего появляется ваш метод' received_messages'. Либо переместите метод выше строки 'private', либо полностью удалите строку' private'. –