Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 未初始化的常量消息控制器_Ruby_Ruby On Rails 4 - Fatal编程技术网

Ruby 未初始化的常量消息控制器

Ruby 未初始化的常量消息控制器,ruby,ruby-on-rails-4,Ruby,Ruby On Rails 4,我正在基于构建一个简单的聊天应用程序。我很好地遵循了这一点,但当我转到localhost时,我得到一个错误“uninitialized constant messages控制器::Message”。这通常是一个简单的修复,但我已经花了一个多小时寻找修复,但我看不到它。这是我的密码 信息与控制器 class MessagesController < ApplicationController def index @messages = Message.all

我正在基于构建一个简单的聊天应用程序。我很好地遵循了这一点,但当我转到localhost时,我得到一个错误“uninitialized constant messages控制器::Message”。这通常是一个简单的修复,但我已经花了一个多小时寻找修复,但我看不到它。这是我的密码

信息与控制器

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
索引和消息表单(index.html.erb)

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"
我已经检查了我能想到的每一件可能的事情,关于为什么我会得到这个错误,我真的不知道为什么。任何帮助都将不胜感激


另外,要使用private pub,我是否必须运行两个终端窗口,一个运行rails服务器,另一个运行faye?

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

要像使用迁移一样对其进行更改,请执行以下操作:

def change
  rename_table :old_table_name, :new_table_name
end
当然,不要手动创建该文件,而是使用rails生成器:

rails g migration ChangeMessagesToMessage
这将在
'db
目录中生成名为正确时间戳的新文件。然后运行:

rake db:migrate

从那时起,你的应用程序就应该很好。

你创建了一个名为Message的模型吗?请把密码寄出去。是的。我刚刚更新了。正如@zrl3dx指出的,将您的型号名称从
Messages
更改为
Messages
,不幸的是,我仍然得到了错误;NameError(未初始化的常量messages控制器::Message):app/controllers/messages\u controller.rb:4:在'index'中,我将其更改为Message.rb,但仍然出现此错误;NameError(未初始化的常量MessagesController::Message):app/controllers/messages\u controller.rb:4:在'index'中,不仅要重命名它,还要将内容更改为
class Message
I所做的,文件是Message.rb和“class Message”。这修正了常数,但现在我得到一个错误;“Message:Class的未定义方法'all'”现在
Message
类只是一个原始类<代码>类消息这就是我的想法,我改变了它。现在是类消息def change rename_table :old_table_name, :new_table_name end
rails g migration ChangeMessagesToMessage
rake db:migrate