somemo's diary

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【設計】権限ごとの表示項目を設定ファイルに記述する

権限ごとに表示する項目が異なることは、よくあります。この項目を設定ファイルに記述することについてのメモです。

権限が関係ない設定

たとえば、以下のような権限が存在するとします。

キー権限名
10管理者
20一般
30仮登録

今回は、ラジオボタン項目「A, B, C」を表示します。これを設定ファイルであらわすと以下のようになります。設定ファイルは簡単にあらわせるymlにします。

rdo_item_list: {1: A, 2: B, 3:C}

権限をキーにした設定

権限によって表示できる個数が異なる場合、以下のようになります。

rdo_item_list:
  10: {1: A, 2: B, 3:C}
  20: {1: A, 2: B}
  30: {1: A}

上記の場合、権限を指定して表示できる項目を取得できます。管理者権限のときには、すべての項目を表示することができます。一般と仮登録の場合は、表示できる項目が少なくなっています。

この設定、項目の増減だけであれば使い勝手がとても良いです。権限が増えても問題ありませんし、ラジオボタンに存在しない値を送信されても、入力チェックに使用できます。

その反面、設定の中に仕様が盛り込まれていることが気になっています…。

設定ファイルに仕様が含まれる

自分は、このパターンに慣れてしまっていることと、これ以外を知らないのでどうしたらよいかわかっていない状態です。githubやオープンソースを見て学んでみようと思います。