0

rake db:migrate:reset をプルした後、一部のコードが機能しなくなりました。ギャラリーのインデックス ページを表示しようとすると、Mysql2::Error: Unknown column 'photos.gallery_id' in 'where clause': SELECT COUNT(*) FROM photos WHEREが表示されphotosます。gallery_id= 1

index.html から 1 行のコーディングを削除すると動作します: <%= gallery.photos.size %>

コードを変更していません。これはすべて、リセットを行うと発生します。それを修正する方法として興味があります。

index.html:

<% for gallery in @galleries %>
    <div class="gallery">
        <h2><%= link_to gallery.name, gallery %></h2>
        Photos: <%= gallery.photos.size %>
    </div>
<% end %>

<p><%= link_to "New Gallery", new_gallery_path %></p>

適切な列は「gallery_id」であるため、「photos.gallery_id」をプルしようとしている理由がわかりません。

4

1 に答える 1

1

エラーが示すように、「photos」テーブルに列「gallery_id」がありません。データベースを調べて、これが存在するかどうかを確認してみてください。あなたは試すことができます:

rails c
> Photo

「gallery_id」というフィールドがあるかどうかを確認します。

を実行してみてくださいrake db:migrate

于 2013-04-05T18:46:08.203 に答える