2017-07-11 3 views
0

Rubyの新機能で、投稿時に新しいユーザーを作成するフォームの作成に取り組んでいます。私はデータベース(rake:12.0.0)を作成し、tuxを使用しているときに編集することができます(モデルファイルが正しいと仮定しています)。私はSinatraを使ってウェブサイトを立ち上げていますが、フォームを提出すると'/ signup'のNameErrorが初期化されていません。というエラーが表示されています。私がtuxでデータベースを編集できるとすれば、私はactions.rbファイルがモデルファイルにアクセスしていないと仮定していますが、なぜそれがわかりません。Ruby: '/ signup'のNameErrorが初期化されていない定数

ルビー:2.4.1

ピューマ:3.9.1

シナトラ:2.0.0

タキシード:私は似てトピックを他のスレッドを見てきました0.3.0

しかし、それでも問題が何であるか把握できないようです。どんな助けも素晴らしいだろう!ありがとう

他の情報が必要な場合はお知らせください。

これは私のモデル/ user.rbファイルです:あなたはuser.rbファイルを要求する必要が

class User < ActiveRecord::Base 

    validates_uniqueness_of :email, :phone_number 

end 

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 

actions.rb 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 

答えて

0

。 actions.rbファイルで試してみてください:

require_relative 'user' 
+1

ありがとうございます!私もuser.rbにActive Recordsとの接続を確立しなければなりませんでしたが、今は動作します。ありがとう! – mmarien

関連する問題