Ruby: '/signup' 处的 NameError 未初始化常量用户
Ruby: NameError at '/signup' uninitialized constant User
我是 Ruby 的新手,正在创建一个在提交时创建新用户的表单。我已经创建了我的数据库(rake:12.0.0)并且能够在使用 tux 时编辑它(所以我假设我的模型文件是正确的)。我正在使用 Sinatra 启动网站(有效),但是当我提交表单时,我收到此错误:NameError at '/signup' uninitialized constant User。鉴于我能够在 tux 中编辑数据库,我假设我的 actions.rb 文件没有访问模型文件,但我不确定为什么。
ruby: 2.4.1
美洲狮:3.9.1
西纳特拉:2.0.0
燕尾服:0.3.0
我查看了具有类似主题的其他线程,但似乎仍然无法弄清楚问题出在哪里。任何帮助都会很棒!谢谢
如果您需要任何其他信息,请告诉我!
这是我的 models/user.rb 文件:
class User < ActiveRecord::Base
validates_uniqueness_of :email, :phone_number
end
actions.rb
require 'sinatra'
require 'rubygems'
set :public_folder, 'public'
post '/signup' do
[...params -> this section works so I omitted it]
# Instantiate and save a User
@user = User.create({firstname: firstname, lastname: lastname, email: email})
end
gemfile
source "https://rubygems.org"
gem 'rake'
gem 'activesupport'
gem 'sinatra'
gem 'sinatra-contrib'
gem 'sinatra-activerecord'
# gem 'puma'
gem 'tux'
group :development, :test do
gem 'pry'
gem 'shotgun'
gem 'sqlite3'
end
您需要 user.rb 文件。在您的 actions.rb 文件中试试这个:
require_relative 'user'
我是 Ruby 的新手,正在创建一个在提交时创建新用户的表单。我已经创建了我的数据库(rake:12.0.0)并且能够在使用 tux 时编辑它(所以我假设我的模型文件是正确的)。我正在使用 Sinatra 启动网站(有效),但是当我提交表单时,我收到此错误:NameError at '/signup' uninitialized constant User。鉴于我能够在 tux 中编辑数据库,我假设我的 actions.rb 文件没有访问模型文件,但我不确定为什么。
ruby: 2.4.1
美洲狮:3.9.1
西纳特拉:2.0.0
燕尾服:0.3.0
我查看了具有类似主题的其他线程,但似乎仍然无法弄清楚问题出在哪里。任何帮助都会很棒!谢谢
如果您需要任何其他信息,请告诉我!
这是我的 models/user.rb 文件:
class User < ActiveRecord::Base
validates_uniqueness_of :email, :phone_number
end
actions.rb
require 'sinatra'
require 'rubygems'
set :public_folder, 'public'
post '/signup' do
[...params -> this section works so I omitted it]
# Instantiate and save a User
@user = User.create({firstname: firstname, lastname: lastname, email: email})
end
gemfile
source "https://rubygems.org"
gem 'rake'
gem 'activesupport'
gem 'sinatra'
gem 'sinatra-contrib'
gem 'sinatra-activerecord'
# gem 'puma'
gem 'tux'
group :development, :test do
gem 'pry'
gem 'shotgun'
gem 'sqlite3'
end
您需要 user.rb 文件。在您的 actions.rb 文件中试试这个:
require_relative 'user'