私は、M. Hartl のガイドと Postgres を使用して 3.1.0 を使用して、最初のライブ Rails アプリにさらに取り組んでいます。認証の作業で第 10 章に進みました。ページの代わりに、オープニングを使用しています。それとは別に、私は第 6 章から彼のユーザー、セッションをフォローしています。users/index.html.erb に移動すると、次のエラーが表示されます。
PGError: エラー: 演算子が存在しません: 文字が可変 = 整数 LINE 1: ...CT "users".* FROM "users" WHERE "users"."email" = 8 LIMIT
stackoverflow で同様の文字列を調べたところ、コンセンサスは id フィールドが整数に設定されていないようです。整数であることを確認できます。このフィールドを再生成すると、モデルを生成したときにこのフィールドがレールによって作成されたように思えます。それは本当なので、初期の移行で Rails によって自動的に生成される id フィールドを再生成する必要がありますか? 悪い考えだとどこかで読んだようです。
しかし、それは私の問題ではないと思います。エラーを見ると、「joe@example.com」のようなものではなく、「8」であるユーザーの電子メールを探していると思います。それが本当なら、予想される id フィールドと email フィールドの間に不一致があります。それは当然のことですが、どうすればミスマッチを見つけて理解できますか? これは私の経験不足によるものであるため、何が違うのかを確認するためにバックトレースを調べ始めました。私は github で gabebw のコピーを見てごまかしていますが、彼のコードの後半の章以外には何も見つかりません。
何をすべきかをどのように学ぶべきですか?@user、@users、users、user in code の違いに苦労しています。それがどのように使用されるかという文脈によるものであり、変数はビュー、ヘルパー、コントローラー、モデルの関係に一致する必要があることを理解しています。どのように学びましたか?誰かが喜んでくれれば、authenticate1 ブランチの github/sam452/vitae で私の問題のあるプッシュがアップされます。thx、sam452。