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

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

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

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

Q&A

解決済

1回答

878閲覧

RubyOnRails で モデルに入力した情報がnilになってしまう

masayosi

総合スコア8

Ruby on Rails

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

0グッド

0クリップ

投稿2020/04/20 13:14

Progateで最近、学習を始めた初心者です。
外部環境で練習のWEBサイトを作成し始めたのですが、上記のようにモデル?に入力した情報が、文字化けとnilになってしまいます。

発生している問題・エラーメッセージ

C:\Users\USER\sample_app>rails console
Loading development environment (Rails 5.2.4.2)
irb(main):001:0> post = Post.new(content:"こんばんは")

=> #<Post id: nil, content:"\x{E381}\x{93E3}\x{8293}\x{E381}\xB0\x{E382}\x{93E3}\x{81AF}", created_at: nil, updated_at: nil>
RubyOnRails

試したこと

bundle installしたり、destroyコマンドで削除してみたり1日中格闘しているのですが、うまくいきません。
どなたか、ご教授頂けないでしょうか。
よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

①文字化けについて
macでやってますね?
Rubyのインストールに一部失敗することがあります。
Rubyをアンインストールして、もう一度インストールしてください。

.

②idがnilになる理由
newしただけでcreateできていないため、レコードが保存されていません。
idに値が入るのはレコードに保存されたタイミングです。

post = Post.create(content:"こんばんは")

してみてください!

投稿2020/04/20 13:39

sanmi

総合スコア28

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

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

masayosi

2020/04/21 00:25

回答ありがとうございます。macでなくwindowsなんですよ(;^_^ まずは再インストールしてみます。
sanmi

2020/04/21 00:35

windowsなんですね、失礼しました! irbで日本語入力できないことはよくあるらしいので、、、 学習しはじめの人にとっては 最初から大変ですよね。 できる範囲でサポートしますので 再インストールでうまく行かなかったら 教えてください!
masayosi

2020/04/21 03:01

すみません、ありがとうございます!!大変助かります。 再インストールしたところ、今度はchromedriver-helperをwebdriversに切り替えなくてはいけないということで、 https://qiita.com/jnchito/items/f9c3be449fd164176efa の記事を参考に、移行しようとしたのですが、できずに四苦八苦してます(;_;)
masayosi

2020/04/21 03:11

migrate も出来ません C:\Users\USER\sample_app>rails db:migrate == 20200420140646 CreatePosts: migrating ====================================== -- create_table(:posts) rails aborted! StandardError: An error has occurred, this and all later migrations canceled: SQLite3::SQLException: table "posts" already exists: CREATE TABLE "posts" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "content" text, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) C:/Users/USER/sample_app/db/migrate/20200420140646_create_posts.rb:3:in `change' bin/rails:4:in `require' bin/rails:4:in `<main>' Caused by: ActiveRecord::StatementInvalid: SQLite3::SQLException: table "posts" already exists: CREATE TABLE "posts" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "content" text, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) C:/Users/USER/sample_app/db/migrate/20200420140646_create_posts.rb:3:in `change' bin/rails:4:in `require' bin/rails:4:in `<main>' Caused by: SQLite3::SQLException: table "posts" already exists C:/Users/USER/sample_app/db/migrate/20200420140646_create_posts.rb:3:in `change' bin/rails:4:in `require' bin/rails:4:in `<main>' Tasks: TOP => db:migrate (See full trace by running task with --trace) C:\Users\USER\sample_app>
sanmi

2020/04/21 03:33

すみません、ありがとうございます!!大変助かります。 再インストールしたところ、今度はchromedriver-helperをwebdriversに切り替えなくてはいけないということで、 https://qiita.com/jnchito/items/f9c3be449fd164176efa の記事を参考に、移行しようとしたのですが、できずに四苦八苦してます(;_;) ⬆︎のエラーログはどんな感じになってますか?
sanmi

2020/04/21 03:55

migrateできない件に関して postsテーブルはすでに存在しているとなっていますね。 rails db:migrate:reset は試しました?
masayosi

2020/04/21 04:59

rails db:migrate:reset したところ、次のようになりました C:\Users\USER\sample_app>rails db:migrate:reset Permission denied @ apply2files - C:/Users/USER/sample_app/db/development.sqlite3 Couldn't drop database 'db/development.sqlite3' rails aborted! Errno::EACCES: Permission denied @ apply2files - C:/Users/USER/sample_app/db/development.sqlite3 bin/rails:4:in `require' bin/rails:4:in `<main>' Tasks: TOP => db:drop:_unsafe (See full trace by running task with --trace)
masayosi

2020/04/21 05:02

chromedriver-helperをwebdrivers のエラーは下記のように表示されます。 ' ' クオーテーションについて書かれてますが、コピペしたので間違いないと思うのですが。 C:\Users\USER\sample_app>bundle install [!] There was an error parsing `Gemfile`: syntax error, unexpected tSTRING_BEG, expecting do or '{' or '(' - - gem 'chromedriver-helper' ^ C:/Users/USER/sample_app/Gemfile:55: syntax error, unexpected tSTRING_BEG, expecting do or '{' or '(' + gem 'webdrivers' ^. Bundler cannot continue. # from C:/Users/USER/sample_app/Gemfile:54 # ------------------------------------------- # # Windows does not include zoneinfo files, so bundle the tzinfo-data gem > gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] # source 'https://rubygems.org' # -------------------------------------------
sanmi

2020/04/21 08:03

rails db:drop もできない感じですか?
sanmi

2020/04/21 08:04

gem は 'chromedriver-helper' を追加してない状態であればちゃんと出来ていますか?
masayosi

2020/04/21 09:00

rails db:drop すると以下のエラーになります。 C:\Users\USER\sample_app>rails db:drop Permission denied @ apply2files - C:/Users/USER/sample_app/db/development.sqlite3 Couldn't drop database 'db/development.sqlite3' rails aborted! Errno::EACCES: Permission denied @ apply2files - C:/Users/USER/sample_app/db/development.sqlite3 bin/rails:4:in `require' bin/rails:4:in `<main>' Tasks: TOP => db:drop:_unsafe (See full trace by running task with --trace)
masayosi

2020/04/21 09:02

gem というのはbandle install ということですか? bandle install は 'chromedriver-helper'と webdrivers の記述を  Gemfile からなくせば出来ます。
sanmi

2020/04/21 10:28

gemfile のコード載せてもらえますか??
masayosi

2020/04/22 11:19

こんばんは。その後、PCを初期化してやり直していますが、文字化けしてしまいますね。windowsとrailsはすごく相性悪いみたいですね。ほぼ不可能みたいな情報まで出てきます。 そこで改めてご相談なんですが、下記の選択肢ならどれがよいと思いますか? ①修正をやり続ける ②macを買ってやりなおす。 ③他の学習を進める ご意見いただけると幸いです。よろしくお願いします。
sanmi

2020/04/22 11:55

お疲れ様です。 そうなんですね、自分はmacなのでwindowsとrailsの相性については知りませんでした。すいません。 選択肢ですが正直masayosiさんの状況(経済状況、学習状況、転職したいのか?副業にしたいのか?)によってだと思います。 自分はmacを持っていてブログや動画編集などをやるので損はないと思いますが、masayosiさんが『アプリつくりたい』とかでRailsにこだわらないのであればmac買う必要ないかと思います。 ただRailsがいいという場合はmac買った方がいいかもしれませんね。Railsエンジニアはmacが多いようです。 もちろんあくまで学習や趣味で終わるなら自分は買わないと思います。 答えになっていますでしょうか? 正直この件に関しては、他の方の意見も聞いたほうがいいです。
masayosi

2020/04/23 05:02

そうですよね!副業、転職、独立を見据えた学習って感じですかね。とりあえずは、日本語入力はできませんが、サイト自体は作っていけそうなので、WINDOWSでサイト自体を作り進めていこうと思います! 色々、教えて頂いてありがとうございました! また何かあれば是非、お願いします!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問