は、私は別のファイルにルートを設定するためのこの方法を示していを通じてつもりです:シナトラルーティング - 別々のファイル
# app.rb
require "sinatra"
require "slim"
class Todo < Sinatra::Base
# ...
Dir[File.join(File.dirname(__FILE__), "lib", "*.rb")].each { |lib| require lib }
end
# lib/routes.rb
get "/test" do
"The application is running"
end
# config.ru
require "sinatra"
require "bundler/setup"
Bundler.require
ENV["RACK_ENV"] = "development"
require File.join(File.dirname(__FILE__), "app.rb")
Todo.start!
はしかし、それはhttp://localhost:4567/test
でルートを見つけることができません。 ruby config.ru
またはbundle exec rackup -p 4567
を実行すると、これがうまくいくはずです。しかし、このすべての設定が組み込まれているRailsの開発から来て、私はすべてが一緒に配線される方法を完全に理解していません。サーバーはそのポートで実行されており、私はSinatra doesn't know this ditty
404ページを取得します。クラスas suggested by this SO answerを再度開くと、/test
ルートが見つかります。
# lib/routes.rb
class Todo < Sinatra::Base
get "/test" do
"The application is running"
end
end
クラスを再度開くことなく経路を含めるための提案された方法がありますか?
本書のコードはそのままですか?それにはかなりの問題があります。 – matt
(トピックを外して:あなたのSSL証明書は期限切れです。) – matt
@matt最初のブロックのコードはすべて、 'require" slim "行を除いて、本のものです。 'app.rb'ファイル('#... ')で省略された行以外は、これらの3つのファイルに与えられたすべてのものです。他の問題が何であるか聞くことに興味があります。 SSL証明書をお寄せいただきありがとうございます。 – Shaun