Rails5.1.3でWebアプリケーション制作の勉強をしています。データベースの内容を作成、更新する内容を各テーブルに対応する
モデルやコントローラに記述していますが、そのコードが実行されるタイミングはどうなっているのでしょうか?
たとえば以下のようなコードの内容になっている場合です。
モデルの関連付け
・customer と score は1対1で関連付けしている。
・customer と member は1対1で関連付けしている。
・customer と point は1対1で関連付けしている。
1,scoresテーブルはcustomersテーブルの内容を取得し加工して保存する。
2,membersテーブルはcustomersテーブルの内容を取得し加工して保存する。
3,pointsテーブルはcustomersテーブルの内容を取得し加工して保存する。
このように各テーブルのデータはそれぞれのファイルでテーブル内容を更新、登録しています。
そこで、scores_controller.rbで以下のように記述し、他のテーブルデータを取得した場合です。
score_controller.rb member = Member.find_by(customer_id: current_customer.id) point = Point.find_by(customer_id: current_customer.id)
と記述しデータを取得しブラウザに表示したときmemberとpointのテーブルのデータは更新されたデータを取得し
表示することができるのでしょうか?それとも、更新前のデータが表示されてしまうのでしょうか?
更新前のデータが表示されてしまうのはまだいいとしても、新規に登録されたデータを取得しようとしたとき
ファイルの内容が実行されていないとデータが存在しないことになってしまいます。
もしくは、いったん「このコードを実行しなさい。」みたいな処理を記述しないと反映されないのでしょうか?
Railsフレームワークは賢くて
・ユーザーがアクセスした時点で、全てのファイルが読み込まれ実行されます。
・データを取得するためにテーブルを呼びだした時点でファイルが読み込まれます。
というのが理想なのですがどうなっているのかどなたか教えていただけないでしょうか?
初歩的な質問ですが流れをいろいろ調べてもわからなかったので宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/25 05:00
2017/10/26 00:02
2017/10/26 11:28