Я новичок в Синатре. Я хочу использовать модульный стиль в моем приложении.
Я хочу, чтобы пользователи вводили некоторые тексты, которые будут сохранены в модели под названием "Tweet". Однако при отправке текста постоянно отображается сообщение об ошибке «NameError - неинициализированная константа MiniDemo :: Tweet:».
Ниже приведен config.ru:
require './app'
run MiniDemo
В приложении .rb, код выглядит следующим образом:
require 'sinatra/base'
require_relative './routes/simple.rb'
class MiniDemo < Sinatra::Base
set :views, __dir__ + '/views'
set :public_folder, __dir__ + '/public'
if __FILE__ == $0
run!
end
end
Файл simple.rb в папке маршрутов выглядит следующим образом:
require 'sinatra/base'
class MiniDemo < Sinatra::Base
get '/' do
# "Hello from my Mini Demo.\nNew Test."
erb :index
end
post '/tweet' do
Tweet.create(content: params[:content])
end
end
Ниже приведен файл erb:
<!DOCTYPE html>
<html>
<head>
<script src='javascripts/twitter.js'></script>
</head>
<body>
<form method="POST" action="/tweet">
<p>Your Tweet: <input type="text" name="content"></p>
<input type="submit" id='btn-submit' value="Tweet">
</form>
</body>
</html>
И твит-модель:
require 'sinatra/activerecord'
require 'sinatra/base'
class Tweet < ActiveRecord::Base
end
Не могли бы вы дать мне предложение? Большое спасибо.