Ruby on Rails での開発は初めてで、Web アプリケーションの作成に問題があります。
<振る舞い>
1) いくつかのシード データを作成しました。
2) 次に、コンソールで db:reset を試しました。
3) データベース (sqlite) 内のデータは正しく更新されていますが、ビューはまだ変更されていません。コントローラに書いた内容は次のとおりです。
@members = Member.order("番号")
4)次に、Webアプリケーションを介して(今回はコンソールを使用せずに)余分なデータを追加したところ、データはデータベースに追加されていませんが、ビューページのリストにデータが表示されていることがわかりました。
<試したこと>
次のアクションを試しました:
1)データベースにSQLを書き込もうとしましたが、結果は同じでした(データベースに正しく挿入されましたが、ビューページには表示されませんでした)。
2) httpd (私は Passenger を使用しています) を再起動しましたが、変更はありませんでした。
3) Member.reload / Member.reset_column_information を次のように追加しました。
Member.reload @members = Member.order("number")
このコードを書いた後、変更は初回のみ反映されます。
4) /model/ ディレクトリ下のファイルを上書きすると、変更がビュー ページに反映されることがわかりました。
5) config/environments/development.rb を次のように設定しました。
config.cache_classes = false
そして、何も変わりません。
6) Rails コンソールに次のコードを書きました。
リロード!
何も変わりません。
<質問>
質問は次のとおりです。
1) なぜこれらの奇妙な行動が起こるのですか?
2)レールはデータベースなしでどこにデータを保持および追加しますか?どのように?
3) rake db:reset を使用してデータベースを変更した後、更新を自動的にビューに反映する方法はありますか?