一つのアクションに複数の条件を指定した場合、条件は上から順に処理されます。
このため条件の組み合わせによっては、指定する順番を誤ると想定通りに動かず、エラーになってしまう場合があります。
たとえば下記のような条件を指定している場合だと、カスタマインの条件は上から順番に評価されますので、①、②、③の順に評価されます。
上記のように条件「レコードを保存する直前(削除時は除く)」と「ステータスが特定の値ならば」を組み合わせて使用した場合に、追加画面でレコードを保存すると次のようなエラーが表示されます。
このエラーは、条件「ステータスが特定の値ならば」を追加画面で使用したことにより発生しているのですが、先に示した条件では「現在の画面が追加画面でないならば(※現在の画面が追加画面ならば の条件を反転したもの)」を指定しているにもかかわらず、追加画面でこのエラーが表示されるのはなぜでしょうか?
※条件の反転については 次のドキュメントをご覧ください。
これは、条件の順番が適切ではなく「現在の画面が追加画面でないならば」より先に「ステータスが特定の値ならば」が評価されてしまうことに起因します。
追加画面では「ステータスが特定の値ならば」が評価されることを防ぐために、下記のように条件の順番を変更します。
この時、追加条件の移動はできないので、一度「ステータスが特定の値ならば」を削除し、一番下に改めて追加してください。
このように変更すれば、先に「現在の画面が追加画面でないならば」が評価され、追加画面でなければ「ステータスが特定の値ならば」が評価されますが、
追加画面であれば「ステータスが特定の値ならば」は評価されないため、「レコード追加画面では使用できないカスタマイズが設定されています。」のようなエラーは表示されなくなります。
ぜひ、条件の順序に気を付けながら条件を設定し、カスタマイズを望む形に制御してみてください!
Customineドキュメントやサポートページもぜひご活用ください。
また、ご不明点等ございましたら、チャットにてご質問ください!