LoginSignup
seiyarick
@seiyarick (seiya)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

undefined method `each_with_object' for "名前":String エラーについて

Q&AClosed

自己解決

メンターの方に見ていただいたところymlファイルのスペースの記述が間違えていたことによるエラーだと判明しました、、、

ymlファイルの記述は厳しく決められていることはわかっていたつもりでしたが自分で見つけられずこのエラーで一日悩んでいたのが悔しすぎました、、、
身に覚えのない箇所でエラーが出ているときはymlファイルの記述も一度確認してみようと思います。
精進します!

解決したいこと

トップページから新規登録画面、ログイン画面に遷移する際にエラーが表示され遷移できないのを解決したいです。

*新規登録機能にはdeviseを使用しています。

発生している問題・エラー

NoMethodError in Devise::Sessions#new
undefined method `each_with_object' for "名前":String

該当するソースコード

<div class="row mb-5">
          <%= f.label :名前, class:"col-4 col-form-label text-center" %><br /> <!--ここでエラーが出ています。-->
          <%= f.text_field :name, autofocus: true, autocomplete: "name", class:"col-8 form-control", placeholder:"名前を入力してください" %>
          </div>

自分で試したこと

以前まではこの記述でエラーが発生することなく画面遷移ができていたのですがどのタイミングからかエラーが表示されるようになっていました。
エラー箇所の記述を以下のようにすればエラーが表示されませんでした。

<%#= f.label :名前, class:"col-4 col-form-label text-center" %><br /> 
<label class="col-4 col-form-label text-center">名前</label>
<%= f.text_field :name, autofocus: true, autocomplete: "name", class:"col-8 form-control", placeholder:"名前を入力してください" %>

ですが新規登録画面に遷移ができ、フォームに必要内容を入力して新規会員登録をしようとしたところ以下のエラーが表示されます。

NoMethodError in Devise::RegistrationsController#create
undefined method `each_with_object' for "名前":String
 def deep_symbolize_keys(hash)
        hash.each_with_object({}) do |(key, value), result|
          result[key.respond_to?(:to_sym) ? key.to_sym : key] = deep_symbolize_keys_in_object(value)
          result
        end

どうすればエラーが表示せれなくなるか教えていただきたいです。
よろしくお願いします。

1

No Answers yet.

Your answer might help someone💌