親モデルが存在しないと子モデルの作成が行えないようにする前へ12345678次へ親モデルの詳細画面に、子モデルの新規登録ボタンを用意します。子モデルの新規登録ボタンは子モデル側には用意しません。これによって子のデータが存在するとき、必ず(紐づく)親は存在するという運用を実現します。「顧客(customer)」と「サポート(support)」という2つのモデルを題材とします。最初に「サポート検索」からサポート検索画面を開きます。この時点では、データは1件も登録されていません。サポートモデルは、「どの顧客モデルに対してのサポートか」という関係を持っています。そのため、顧客モデルを指定せずにサポートモデルを単独で作成することはできないようになっています。(図1の画面に「新規登録」ボタンは表示されません。次に、顧客のデータを新規に登録します。顧客の詳細表示画面に「サポート新規作成」ボタンが用意されています。外部キーの関係にあるサポートモデルの新規登録は、対象データ(ここでは顧客データ)の詳細表示画面から行います。サポート新規作成」ボタンをクリックし、サポート新規登録画面を開いてみます。顧客ID(紐づく親モデルのID)は自動設定かつ読み込み専用としています。(親を変更することはできません。入力して登録を行います。詳細表示」ボタンが用意されています。子モデル(ここではサポートモデル)の検索・一覧画面で「登録」ボタンを非表示とします。新規登録ボタンを表示しない外部キーを読み込み専用にする子モデルがもつ外部キー(顧客ID)を読み込み専用にします。本ページに記載の内容は、子モデルの新規登録ボタンを表示しないようにしていますが、CSVアップロード更新を使うことで親モデルが存在しないデータを作成することは可能です。親モデルが削除された場合には子モデルだけ残り、結果として親モデルが存在しないデータが存在することになります。これを回避するためにカスケード削除を設定することができます。親モデルの削除時に自動的に子モデルも削除されます。