ruby-on-rails - 未初始化的常量 SampleApp (NameError)

标签 ruby-on-rails

我正在尝试运行以下命令:

rails generate controller StaticPages home help --no-test-framework

我不断收到此错误:

/Users/josh/Desktop/RoR/rails_app/config/initializers/secret_token.rb:27:in `<top (required)>': uninitialized constant SampleApp (NameError)

这是我的 secret_token.rb 文件

require 'securerandom'

def secure_token
  token_file = Rails.root.join('.secret')
  if File.exist?(token_file)
    # Use the existing token.
    File.read(token_file).chomp
  else
    # Generate a new token and store it in token_file.
    token = SecureRandom.hex(64)
    File.write(token_file, token)
    token
  end
end

SampleApp::Application.config.secret_key_base = secure_token

最佳答案

您可能更改了 Rails 应用程序的名称。

config/application.rb 中检查您的应用程序名称是否与 secret_token.rb 文件中使用的名称相同:

SampleApp::Application.config.secret_key_base = secure_token
^^^^^^^^^

您应该在 config/application.rb 中有以下内容:

# ...
module SampleApp
  class Application < Rails::Application
    # ...

关于ruby-on-rails - 未初始化的常量 SampleApp (NameError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19387831/

相关文章:

ruby-on-rails - 具有命名参数的 RSpec 测试方法

ruby-on-rails - 比较 rails Active Record 和 PG 中的日期

ruby-on-rails - 检查多插入事务是否成功

ruby-on-rails - Rails 大写名称命名约定

ruby-on-rails - 为什么 form_tag 和 form_for 的用法在 rails(erb) 中发生变化?

ruby-on-rails - Rails 是否必须延迟加载所有内容?或者是吗?

javascript - 访问 myfile.js.erb 中的 webpacker 帮助程序

ruby-on-rails - 如何使用 Test::Unit 跳过某些测试

ruby-on-rails - Rails 5 升级 : routes. rb 文件已清除

ruby-on-rails - 克隆续集模型