文字列(コンピュータのMACアドレス+ジャンク...)からいくつかの文字を削除し、最初の18文字を切り捨てる必要があります。リストとその数を出力しますがフォーマットは私がやる検索するための調整を必要とするgsubを使用して文字列を消去し、切り捨て
def popular_locations
popular_locations = Radacct.group(calledstationid).order('calledstationid desc').count
end
:
現在、私は私のモデルでは、以下があります。
私はこれを追加してみました:
clean_mac_address = :calledstationid.gsub(/[^0-9a-z]/i, '')
しかし、私はのためのエラー未定義のメソッド `GSUB」取得:calledstationidを:シンボル
- EDIT -
当初calledstationidが中に保存されています次の形式のdb(radacctモデル):
00-18-0A-21-44-7B:Home Office
基本的にはMACアドレスにSSID名を加えたものです。私たちはこの形式でMACアドレスのリストを持っている別のモデル(場所)があるので、私はダッシュやSSIDを取り除く必要がある
:
00:18:0A:21:44:7B
場所とradacctは(関係ないradacctはどこのモデルでありますすべてのセッションがダンプされます)。最終的に私がしなければならないことは、すべてのセッションを数え、calledstationid(上記参照)によってグループ化することです。次に、ロケーションテーブルを照会し、ロケーション名を調べます。私がモデル定義がそれを持っていないときは、そこに誤った:
を置くかどうかはわかりません
location_name session_count
School 2
Home 12
Office 89
NameError:未定義のローカル変数またはメソッド 'calledstationid ' – simonmorley
私はちょうどあなたの元の例にあったものをとっています。この変数はどこから来るはずですか? – tadman
calledstationidは私のdbのフィールドです。 – simonmorley