Ruby on Railsでタスク管理アプリケーションを作成している途中でタイトルのエラーが出ました。
エラーが直せません I18n::InvalidLocaleData in Tasks#new
発生している問題・エラーメッセージ
ActionView::Template::Error (can not load translations from /Users/・・・/taskleaf/config/locales/ja.yml: #<Psych::SyntaxError: (<unknown>): mapping values are not allowed in this context at line 5 column 3>): 7: 8: = form_with model: @task, local: true do |f| 9: .form-group 10: = f.label :name 11: = f.text_field :name, class: 'form-control', id: 'task_name' 12: .form-group 13: = f.label :description app/views/tasks/new.html.slim:10 app/views/tasks/new.html.slim:8
---以下、ja.ymlを全て削除したときのエラー
ActionView::Template::Error (can not load translations from /Users/・・・/taskleaf/config/locales/ja.yml: #<Psych::SyntaxError: (<unknown>): mapping values are not allowed in this context at line 5 column 3>): 7: 8: = form_with model: @task, local: true do |f| 9: .form-group 10: = f.label :name 11: = f.text_field :name, class: 'form-control', id: 'task_name' 12: .form-group 13: = f.label :description app/views/tasks/new.html.slim:10 app/views/tasks/new.html.slim:8
---以上。
該当のソースコード
new.html.silm
1h1 タスクの新規登録 2 3 4.nav.justify-content-end 5 = link_to '一覧', tasks_path, class: 'nav-link' 6 7 8= form_with model: @task, local: true do |f| 9 .form-group 10 = f.label :name 11 = f.text_field :name, class: 'form-control', id: 'task_name' 12 .form-group 13 = f.label :description 14 = f.text_area :description, rows: 5, class: 'form-control', id: 'task_description' 15 = f.submit nil, class: 'btn btn-primary'
ja.yml
1--2020-04-19 17:32:17-- https://raw.githubusercontent.com/svenfuchs/rails-i18n/master/rails/locale/ja.yml 2raw.githubusercontent.com (raw.githubusercontent.com) をDNSに問いあわせています... 151.101.88.133 3raw.githubusercontent.com (raw.githubusercontent.com)|151.101.88.133|:443 に接続しています... 接続しました。 4HTTP による接続要求を送信しました、応答を待っています... 200 OK 5長さ: 5117 (5.0K) [text/plain] 6"ja.yml" に保存中 7 8 0K .... 100% 24.3M=0s 9 102020-04-19 17:32:17 (24.3 MB/s) - `ja.yml' へ保存完了 [5117/5117] 11 12ja: 13 activerecord: 14 errors: 15 messages: 16 record_invalid: "バリデーションに失敗しました: %{errors}" 17 restrict_dependent_destroy: 18 has_one: "%{record}が存在しているので削除できません" 19 has_many: "%{record}が存在しているので削除できません" 20 models: 21 task: タスク 22 attributes: 23 task: 24 id: ID 25 name: 名称 26 description: 詳しい説明 27 created_at: 登録日時 28 updated_at: 更新日時 29 helpers: 30 select: 31 prompt: 選択して下さい 32 submit: 33 create: 登録する 34 submit: 保存する 35 update: 更新する
試したこと
インデントなど徹底的に意識しましたが、今度は別のエラー?が出ました。
補足情報(FW/ツールのバージョンなど)
Rails 6.0.2.2
インデントの問題な気がしています。
質問文を修正して、コードを``` ```のコードブロックで書いていただけると、確認しやすいのでお願いいたします。
参考:https://teratail.com/help/question-tips#questionTips3-3-1
質問を変えてしまうと、対する回答とマッチしなくなる可能性が出てしまいます。
試した結果を回答に返信いただいたり、回答の通りの変更をした際に新たに出たエラーを質問に追記していただけると、分かりやすかったりします。
変更されたエラーについては、ja.yml:の5行目がおかしいと言われています。
例えば、ja.ymlを全て削除すると動きますでしょうか?
ご回答ありがとうございます。返信が遅れて申し訳ありませんでした。今度からは質問に追記するようにいたします。
ja.yml:の5行目がおかしいと言われています。
例えば、ja.ymlの中身を全て削除すると動きますでしょうか?
ja.ymlの中身を削除した場合に添付画像のアラームがブラウザで出ました。
承知しました。
mapping values are not allowed in this context at line 5 column 3>
とあるように、ymlにエラーがあるようです。
5行目を削除または、ダブルクオーテーションに直すなど見直してください。
5行目を削除したら今度は12行目でエラーとの表示が出ました。「:」を受付ないようなエラーにみえます。
回答3件
あなたの回答
tips
プレビュー