未初始化的常量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
从那以后你的应用应该没问题。