質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Vagrant

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

Active Record

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

Q&A

解決済

1回答

376閲覧

ruby main.rbがエラーになる

Casablanca_mtg

総合スコア209

Ruby

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Vagrant

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

Active Record

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

0グッド

0クリップ

投稿2019/09/19 05:09

お世話になります
今、ActiveRecordの使い方を学習しています
環境は
ローカル環境でvagrantを使っています
ruby 2.6.4
rails 6.0.0

require 'active_record' require 'pp' Time.zone_default = Time.find_zone! 'Tokyo' ActiveRecord::Base.default_timezone = :local ActiveRecord::Base.establish_connection( "adapter" => "sqlite3", "database" => "./myapp.db" ) class User < ActiveRecord::Base end User.delete_all User.create(name: "tanaka", age: 19) User.create(name: "takahashi", age: 25) User.create(name: "hayashi", age: 31) User.create(name: "mizutani", age: 28) User.create(name: "otsuka", age: 35) pp User.all

ターミナルでの画像
イメージ説明
となります
原因はなになのでしょうか?
検索では
Time.zoneの調整でエラーになる可能性があるのでrequire“active_support/all”もいれておきます とありましたので入れましたが変化なしでした
https://teratail.com/questions/124371 での回答もありませんでした
よろしくご指導ください

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

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

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

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

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

guest

回答1

0

ベストアンサー

find_zone!はActiveSupportのメソッドなのでRubyそのものには存在しません。
require "active_support/all"を入れたが変化なしとのことですが、
ActiveSupportのgemはインストールされていますか?

投稿2019/09/19 05:13

Mugheart

総合スコア2344

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

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

Casablanca_mtg

2019/09/19 05:19

お世話になります ActiveSupportのgemはインストールしていません ActiveRecordはRailsのVersionで固定されているのでインストールは必要ないとのことでしたが別に gem iinstall ActiveSupportとしないといけないのでしょうか?? よろしくお願いいたします
maisumakun

2019/09/19 05:25

> ActiveRecordはRailsのVersionで固定されているのでインストールは必要ないとのことでしたが それはRails内から実行する場合の話です。rubyコマンドで単体実行する場合はインストールが必要です。
Casablanca_mtg

2019/09/19 05:30

お世話になります 理解できましたが gem iinstall ActiveSupport -v 6.0.0でOKですか?
Casablanca_mtg

2019/09/19 05:44

[vagrant@localhost activerecord_lessons]$ gem install ActiveSupport -v 6.0.0 ERROR: Could not find a valid gem 'ActiveSupport' (= 6.0.0) in any repository ERROR: Possible alternatives: activesupport [vagrant@localhost activerecord_lessons]$ gem install ActiveSupport ERROR: Could not find a valid gem 'ActiveSupport' (>= 0) in any repository ERROR: Possible alternatives: activesupport このようにエラーになります
Mugheart

2019/09/19 05:50 編集

名前が違います。大文字と小文字はきちんと使い分けましょう。 $ gem list activesupport -ra *** REMOTE GEMS *** activesupport (6.0.0, 5.2.3, 5.2.2.1, 5.2.2, 5.2.1.1, 5.2.1, 5.2.0, 5.1.7, 5.1.6.2, 5.1.6.1, 5.1.6, 5.1.5, 5.1.4, 5.1.3, 5.1.2, 5.1.1, 5.1.0, 5.0.7.2, 5.0.7.1, 5.0.7, 5.0.6, 5.0.5, 5.0.4, 5.0.3, 5.0.2, 5.0.1, 5.0.0.1, 5.0.0, 4.2.11.1, 4.2.11, 4.2.10, 4.2.9, 4.2.8, 4.2.7.1, 4.2.7, 4.2.6, 4.2.5.2, 4.2.5.1, 4.2.5, 4.2.4, 4.2.3, 4.2.2, 4.2.1, 4.2.0, 4.1.16, 4.1.15, 4.1.14.2, 4.1.14.1, 4.1.14, 4.1.13, 4.1.12, 4.1.11, 4.1.10, 4.1.9, 4.1.8, 4.1.7.1, 4.1.7, 4.1.6, 4.1.5, 4.1.4, 4.1.3, 4.1.2, 4.1.1, 4.1.0, 4.0.13, 4.0.12, 4.0.11.1, 4.0.11, 4.0.10, 4.0.9, 4.0.8, 4.0.7, 4.0.6, 4.0.5, 4.0.4, 4.0.3, 4.0.2, 4.0.1, 4.0.0, 3.2.22.5, 3.2.22.4, 3.2.22.3, 3.2.22.2, 3.2.22.1, 3.2.22, 3.2.21, 3.2.20, 3.2.19, 3.2.18, 3.2.17, 3.2.16, 3.2.15, 3.2.14, 3.2.13, 3.2.12, 3.2.11, 3.2.10, 3.2.9, 3.2.8, 3.2.7, 3.2.6, 3.2.5, 3.2.4, 3.2.3, 3.2.2, 3.2.1, 3.2.0, 3.1.12, 3.1.11, 3.1.10, 3.1.9, 3.1.8, 3.1.7, 3.1.6, 3.1.5, 3.1.4, 3.1.3, 3.1.2, 3.1.1, 3.1.0, 3.0.20, 3.0.19, 3.0.18, 3.0.17, 3.0.16, 3.0.15, 3.0.14, 3.0.13, 3.0.12, 3.0.11, 3.0.10, 3.0.9, 3.0.8, 3.0.7, 3.0.6, 3.0.5, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 2.3.18, 2.3.17, 2.3.16, 2.3.15, 2.3.14, 2.3.12, 2.3.11, 2.3.10, 2.3.9, 2.3.8, 2.3.7, 2.3.6, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 2.2.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.4, 2.0.2, 2.0.1, 2.0.0, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0, 1.3.1, 1.3.0, 1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.1.1, 1.1.0, 1.0.4, 1.0.3, 1.0.2, 1.0.1, 1.0.0) 勉強目的で一時的にしか使わないでしょうし、好きなバージョンを選べば良いと思います。 特に明確な理由がないなら最新版でいいと思いますよ。
Mugheart

2019/09/19 05:52

名前が違います。
Casablanca_mtg

2019/09/19 05:58

大文字小文字必須ですね やってみます。できました 有難うございます。ruby側とrails側は同じではないと認識するべきですね 有難うございました。 このあたりのことを知るにはrubyのチュートリアルを確認した方がよいのでしょうか?
Mugheart

2019/09/19 06:11

うーん、ruby側とrails側が違うというよりはrailsが色々とよしなにやってくれているだけなので railsについて調べてみればいいかと思います。 とは言え勉強中なのでしたら、今はそういうもんだと思っておいて、一通り学び終えてから調べればいいと思います。多分その頃にはなんとなくわかってきていると思いますが。 railsを勉強するかたわら、railsを使わずに何か作ってみればrailsの便利さみたいなのに気づけていいと思いますよ。よく挙げられるのはSinatraですかね。 ちなみに僕は別にrailsに詳しいって訳でもgemに詳しいって訳でもないのでその辺りに詳しい人を見つけたら聞いてみればいいと思います。
Casablanca_mtg

2019/09/19 06:20

有難うございます 参考にさせていただいて月並みですが頑張ります 環境構築は難しいですね。いつも思います ドットインストールではrequire "active_support/all"は注意事項であがっていましたがインストールのことは触れられていませんでした。先日初めてrails6.0.0に苦しんでアップしたところでした。有難うございました
Mugheart

2019/09/19 06:31

誤解なきように言っておくと、railsがインストールされている(railsコマンドが使える)ディレクトリであれば、ActiveSupportのインストールはしなくてもrequire "active_support/all"の記述だけで使えます。 気なるようならgemを全てアンインストールして gem uninstall -aIx railsだけインストールして gem install rails find_zone!を使うコードを実行して試してみればわかると思います。 ruby -e "require 'active_support/all';puts Time.find_zone! 'Tokyo'"
Casablanca_mtg

2019/09/19 06:46

了解しました。がしかしrails6.0.0をlinux系でインストールしたらsqlite3.8以上が必要だったり、yarnやwebpackerが必要だったりと大変でした(わからないことばかりで)のでもう少ししてから確認してみます linux系、ubuntu系はcloud9からのインストールでした
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問