🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

Q&A

解決済

1回答

511閲覧

sinatraでRuntimeError at /となるのはなぜですか?

Casablanca_mtg

総合スコア209

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

0グッド

2クリップ

投稿2019/09/24 06:16

編集2019/09/24 09:18

お世話になります
ずーと調べているのですが解決できません
私の環境は
ruby:2.6.4
rails:6.0.0
sqlite3:3.29

以下でのコードを試しています

app.rb

1 2require 'sinatra' 3require 'sinatra/reloader' 4require 'active_record' 5require "active_support/all" 6 7ActiveRecord::Base.establish_connection( 8 adapter: 'sqlite3', 9 database: './bbs.db' 10) 11 12class Comment < ActiveRecord::Base 13end 14 15get '/' do 16 @title = "My BBS" 17 @comments = Comment.all 18 erb :index 19end 20

index.erb

1<h1>My BBS</h1> 2<ul> 3 <% @comments.each do |comment| %> 4 <li><%= comment.body %></li> 5 <% end %> 6</ul> 7<form action="" method="post"> 8 <input type="text" name="body"> 9 <input type="submit" value="Add comment"> 10</form>

この2つのファイルを実行すると

が出ます
エラーが出るときは gem install sqlite3 をしました
[vagrant@localhost sinatra_lessons]$ gem install sqlite3
Fetching sqlite3-1.4.1.gem
Building native extensions. This could take a while...
Successfully installed sqlite3-1.4.1
Parsing documentation for sqlite3-1.4.1
Installing ri documentation for sqlite3-1.4.1
Done installing documentation for sqlite3 after 0 seconds
1 gem installed
/home/vagrant/sinatra_lessons/views/index.erb in block in singleton class
<% @comments.each do |comment| %>
app.rb in block in <main>
erb :index
GET
No GET data.

POST
No POST data.

そのあとに
ruby app.rb -o 192.168.33.12で接続するとRuntimeError at /となります
どこを修正すればいいのでしょうか?
ご指導ください

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Orlofsky

2019/09/24 07:41

エラーメッセージも https://teratail.com/help/question-tips#questionTips3-7 の [コード] に修正してください。 答えは回答に書いてあります。 カサブランカを Casablanca って書けなかったのは英語が苦手だからってわかりますが、翻訳サイトもありますから、この程度の簡単な英語は理解できないとこの仕事は辛いです。
Casablanca_mtg

2019/09/24 09:22 編集

ご忠告ありがとうございます ただ,kasaburankaはcasaburancaとはわかっていたのですが わざとローマ字表記にしていました。ややこしくってすみません
guest

回答1

0

ベストアンサー

エラーメッセージは端折らないでテキストで全部載せましょう。

Your version of SQLite (3.7.17) is too old. Active Record supports SQLite >= 3.8

Active Record は SQLite 3.8 以上をサポートしている。

投稿2019/09/24 06:30

Orlofsky

総合スコア16417

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Casablanca_mtg

2019/09/24 07:03 編集

有難うございます sqlite3はrails6.0.0を使用する際に3.29にしました よって3.8以上だと思いますがどうしてこのようになるのかがわかりません
Orlofsky

2019/09/24 09:28

改めて、SQLite 3.8 以上をインストールしては?
Casablanca_mtg

2019/09/24 10:00

わかりました やってみます vagrantではCentOS7.6も作っていますのでそちらはruby2.6.3,rails5.2.3です そちらでも確かめたいと思います
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問