升级到Rails 5后,Rails找不到ApplicationRecord

时间:2016-07-05 18:27:49

标签: ruby-on-rails

Per the upgrade notes,我添加了app/models/application_record.rb文件,其中包含以下内容:

class ApplicationRecord < ActiveRecord::Base
  self.abstract_class = true
end

但是当我尝试运行bin/rails s时,我看到以下错误:

active_record/dynamic_matchers.rb:21:in `method_missing': undefined local variable or method `  self' for ApplicationRecord(Table doesn't exist):Class (NameError)

似乎rails无法找到application_record.rb文件,但我重新加载spring,并尝试运行rails s(没有bin)。但总是一样的错误。

我在Mac上运行ruby 2.3。

这是我的Gemfile:

source 'https://rubygems.org'


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '5.0.0'
gem 'mysql2', '~> 0.3.18'
gem 'bootstrap-sass', '~> 3.3.5'
gem 'sass-rails', '~> 5.0.3'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.2'
gem 'jquery-rails'
gem 'jquery-ui-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.5'
gem 'sdoc', '~> 0.4.0', group: :doc

#translations
gem 'rails-i18n'
gem 'i18n-active_record',
  :git => 'git://github.com/svenfuchs/i18n-active_record.git',
  :require => 'i18n/active_record'
gem 'geocoder'
gem 'globalize', github: 'globalize/globalize'

gem 'sunspot_rails'
gem 'globalize-accessors'
gem 'haml-rails'
gem 'slim-rails'
gem 'simple_form'
gem 'font-awesome-sass', '~> 4.4.0'
gem 'country_select'
gem 'friendly_id'
gem 'ckeditor'
gem 'carrierwave'
gem 'mini_magick'
gem 'fog'
gem 'fog-aws'
gem 'devise'
gem 'devise_invitable'
gem 'pundit'
gem 'mail'
gem 'recaptcha', :require => 'recaptcha/rails'
gem 'roadie-rails', '~> 1.0'
gem 'sitemap_generator'
gem 'will_paginate'
gem 'dumper'

group :development do
  gem 'web-console'
  gem 'listen', '~> 3.0.5'
  gem 'sunspot_solr'
  gem 'progress_bar'
  gem 'letter_opener'
  gem 'spring'
  gem 'better_errors'
  gem 'mina'
end

group :development, :test do
  gem 'rspec-rails'
  gem 'byebug'
  gem 'binding_of_caller'
  gem 'factory_girl_rails'
  gem 'faker'
  gem 'launchy'
end

group :test do
  gem 'poltergeist'
  gem 'capybara'
  gem 'database_cleaner'
end

这里给出了什么?

1 个答案:

答案 0 :(得分:1)

问题是单词self前面的两个空格字符。您需要删除这两个字符,然后再次键入它们。

有一些字符在UTF-8中是不可见的,当从Rails指南中复制粘贴时,似乎有一些字符被包含在内。