考え中

SWLAB の CMDB では、計算機は MAC アドレスと IP アドレスをそれぞれ1つずつ保持するようになっています.

モデル構成を変更することで,計算機は MAC アドレスと IP アドレスを複数持てるようになります.この場合,計算機情報登録ページにおける,MAC アドレスと IP アドレスの入力方法を考える必要があります.従来であれば,MAC アドレスと IP アドレスの入力欄を 1 つずつ用意すればよかったのですが,MAC アドレスも IP アドレスも複数持てるようになると,入力欄がたくさん必要になります.

対処案としては,

  1. 対処無し
  2. あらかじめ入力欄を複数個配置
  3. ユーザの操作によって動的に入力欄を追加

ぐらいですね.

それぞれの対処案について,

  1. 複数の MAC アドレスや IP アドレスを持つ計算機に対しては,MAC アドレスと IP アドレスの登録を, DB を直接操作して行う. このような計算機は例外的なため,それほど手間にはならないと考える.しかし,これでは何も解決していない.
  2. 実装は容易そうであるが,配置数を超える MAC アドレスや IP アドレスの登録ができない.美しくない.
  3. 実装は難しそうであるが,これが理想形だと考える.

考えるまでもなく 3. でしょう.というわけで,JavaScript でちょっとサンプルのようなものを作ってみました(添付ファイル参照).

ところで,ビューからコントローラに渡すパラメータとして,こういう風にはできるのでしょうか?まだ調査不足なのでよくわかってないのですが・・・

params = {
    :mac_addrs => [mac1, mac2, ・・・],
    :ip_addrs => {
        :ip_addrs1 => [ip1_1, ip1_2, ・・・],
        :ip_addrs2 => [ip2_1],
        ・・・
    }
}


Comment

投稿ありがとう.subversion 上で,一旦branch を切って,岸の部分は外してあります.それと分かる名前で branch 切ったと思うので,見といてください. params で配列を受け取れるかという話なら,いけます.