Я только что обновился до Mailboxer 0.12.4 и выполнил инструкции в Github Readme. У меня было два контроллера для работы с GemОбновление проблемы с Mailboxer 0.11.0 до 0.12.4
Уведомления
class NotificationsController < ApplicationController
before_action :signed_in_user, only: [:create]
def new
@user = User.find(:user)
@message = current_user.messages.new
end
def create
@recepient = User.find(params[:notification][:id])
current_user.send_message(@recepient, params[:notification][:body],params[:notification][:subject])
flash[:success] = "Message has been sent!"
redirect_to user_path @recepient
end
end
Беседы
class ConversationsController < ApplicationController
before_action :signed_in_user
def index
@conversations = current_user.mailbox.conversations.paginate(page: params[:page],:per_page => 5)
end
def show
@conversation = current_user.mailbox.conversations.find_by(:id => params[:id])
@receipts = @conversation.receipts_for(current_user).reverse!
end
end
Мои пользователи модель имеет act_as_messagable. После обновления этот метод в моем контроллере пользователей вызывает ошибку.
неинициализированная постоянная UsersController :: Уведомление
код, который выделен в
def show
@user = User.find(params[:id])
@message = Notification.new << this line
....
end
Я попытался создать объект уведомлений в консоли, и я получаю ту же ошибку. Я прочитал, что обновление изменило пространство имен, но я не знаю, как изменить свой код для учетной записи.
This is the closest I have found to a solution but the guy doesn't say how he fixed it