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

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

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

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

Ruby

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

Ruby on Rails

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

2回答

835閲覧

rails console 日本語文字化け Encoding::UbdefinedConversionError

1750xkcm

総合スコア17

Ruby on Rails 5

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

Ruby

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

Ruby on Rails

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2018/10/22 14:30

編集2018/10/24 00:54

rails consleで日本語データを入力した際に、
下記のようなエラー文が表示されました。

pry(main)> hoge.fuga = "1■■■" file:///C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/pry-0.11.3/lib/pry/history.rb:127:in 'write' : "\x95" from ASCII-8BIT to UTF-8 (Encoding::UbdefinedConversionError)

hoge.fugaに「1分以下」を入れたいのですが、
日本語の部分が文字化けしてしまいます。

なにかのgemが悪さをしているのでしょうか?
お分かりになる方がいましたら教えてください。

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

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

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

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

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

guest

回答2

0

ベストアンサー

pryやirbではreadlineというライブラリを用いて入力を行っています。
(カーソルキー上下による履歴とかtabによる予測入力等ができるやつ)
こいつがwindows上ではコンパイルするのが大変なため
rbreadlineというrubyに移植したgemを代替に用いているのですが
日本語を含むマルチバイトと相性が非常に悪いので
windows上のpry/irbにて日本語入力は諦めた方が無難です。

ちなみに悪あがきとしては
.pryrcというファイルを作成し

rb

1if /mswin(?!ce)|mingw|cygwin|bccwin/ === RUBY_PLATFORM 2 module FixEncREPL 3 def input_readline(*args) 4 super.encode(Encoding.default_internal || Encoding::UTF_8, 'locale') 5 end 6 end 7 8 Pry::REPL.send(:prepend, FixEncREPL) 9end

として保存すると当方の環境(Win7)では改善します。
上キーで履歴をさかのぼったときに日本語でるとエラーがでますが

投稿2018/10/23 06:21

asm

総合スコア15147

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

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

1750xkcm

2018/10/23 12:01

上記の方法も試してみたいと思います。
guest

0

最終的には管理者専用の編集画面を作成して、
データベースを更新することにしました。

問題なく更新できました。
ご参考までに実装コードを書いておきます。

command

1rails g controller times edit

view

1 <section> 2 <%= form_tag("/time/update") do %> 3 <ul> 4 <% time.each do |time| %> 5 <li> 6 <input name="time" type="text" value="<%= time.time %>"> 7 <input name="id[]" type="hidden" value="<%= time.id %>"> 8 </li> 9 <% end %> 10 </ul> 11 <input type="submit" value="更新する"> 12 <% end %> 13 </section>

controller

1 def edit 2 @time = Time.all 3 end 4 5 def update 6 params[:id].each do |time_id| 7 @time = Time.find_by(id: time_id) 8 @time.time = params[:time] 9 @time.save 10 end 11 redirect_to("/") 12 end

routes

1 get "time/edit", to: "times#edit" 2 post "time/update", to: "times#update"

以上です。。。。

投稿2018/10/24 01:09

1750xkcm

総合スコア17

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問