未初始化的常量MessagesController

我正在构建一个基于此rails cast的简单聊天应用程序。 我跟着很好,但是当我去localhost时,我得到一个错误“未初始化的常量MessagesController :: Message”。 这通常是一个简单的修复,但我花了一个多小时寻找修复,我看不到它。 这是我的代码;

messages_controller

class MessagesController < ApplicationController def index @messages = Message.all end def create @message = Message.create!(params[:message]) PrivatePub.publish_to("/messages/new", "alert('#{@message.content}');") end end 

model(message.rb)

 class Message end 

索引和消息表单(index.html.erb);

 

Hack Chat

routes.rb中;

 Hackchat::Application.routes.draw do root to: 'messages#index' resources :messages end 

的Gemfile;

 source 'https://rubygems.org' gem 'rails', '4.0.0' gem 'sqlite3' group :assets do gem 'sass-rails', '~> 4.0.0' gem 'uglifier', '>= 1.3.0' gem 'coffee-rails', '~> 4.0.0' end gem 'jquery-rails' gem 'private_pub' gem "thin", "~> 1.6.1" 

我已经检查过每一个我能想到的事情,为什么我会得到这个错误,我真的不知道为什么。 任何帮助将非常感激。

此外,对于使用私人酒吧,我是否必须运行两个终端窗口,一个运行rails服务器,另一个运行faye?

您的模型是@Messages ,将其更改为@message

要改变它,就像你应该使用迁移:

 def change rename_table :old_table_name, :new_table_name end 

当然不要手动创建该文件但使用rails生成器:

 rails g migration ChangeMessagesToMessage 

这将在'db dir中生成名称中具有适当时间戳的新文件。 然后运行:

 rake db:migrate 

从那以后你的应用应该没问题。