我刚刚更新到 Mailboxer 0.12.4 并按照 Github 自述文件中的说明进行操作。我有两个控制器用于使用 Gem
通知
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::Notification
突出显示的代码是
def show
@user = User.find(params[:id])
@message = Notification.new << this line
....
end
我尝试在控制台中创建一个 Notification 对象,但我得到了同样的错误。我已经读到更新已经改变了命名空间,但我不知道如何改变我的代码来解决这个问题。