質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Spark

Spark(Apache Spark)とは、膨大なデータを迅速、柔軟に分散並行処理を行うフレームワークです。分析ツールであるApache Hadoopと比較し、最大で100倍の速度でデータ処理ができるとされています。

Cisco

シスコ(Cisco Systems,Inc.)は、アメリカ合衆国に本社を置く、世界最大のコンピュータネットワーク機器開発会社及び同社の製品

Q&A

1回答

1161閲覧

Railsで処理を切り分ける方法がわからない

kozica

総合スコア58

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Spark

Spark(Apache Spark)とは、膨大なデータを迅速、柔軟に分散並行処理を行うフレームワークです。分析ツールであるApache Hadoopと比較し、最大で100倍の速度でデータ処理ができるとされています。

Cisco

シスコ(Cisco Systems,Inc.)は、アメリカ合衆国に本社を置く、世界最大のコンピュータネットワーク機器開発会社及び同社の製品

0グッド

0クリップ

投稿2018/08/10 06:56

編集2022/01/12 10:55

###実現したいこと
Cisco meraki18というwifiのAPを使い、APがwifi proveして得た情報をシステムが受け取り、その取得した情報の中のMACアドレスと、元々持っている個人情報のMACアドレスを照合して合致すれば、対応する個人情報(性別・国・年齢・email・電話番号etc)をCiscoSparkというチャットアプリに出力するシステムを作っています。

その一連の動作のコーディングはできたのですが、これをお客さんそれぞれに切り分ける方法がわかりません。
今はサンプルとして
Cisco API keyやproveするためのvalidatorなどを入れて動かしてますが、実際の想定だと、当然お客さんそれぞれでKeyやvalidatorの値は違いますので、configに一つしか設定していない今の状況だと複数のお客さんに対応できません。
現状だと、お客さん一人ずつにRailsを立ち上げないといけないという状況です。

クライアント毎に異なるもの下記のようになります
・Cisco webexのAPI KEY
・Cisco MerakiダッシュボードのValidatorの値
・proveした情報を保存するテーブル

今は上記を設定して動きの確認はできました。
これをクライアント毎に処理するためにはどのようにすればよいのでしょうか?

説明が下手なため、不明点がありましたらご質問お願いします。
どうかお力を貸して頂きたいです。

ruby

1#app/controller 2require 'cisco_spark' 3require 'net/https' 4require 'json' 5require 'uri' 6require 'time' 7 8class EventsController < ApplicationController 9 skip_before_action :verify_authenticity_token 10 after_action :send_data, only: [:create] 11 12 VALIDATOR = "xxxxxxxxxxxxx" 13 #merakiから送られてくる情報をテーブルに保存するメソッド 14 def create 15 @event = Event.new(data: params[:data].to_s) 16 respond_to do |format| 17 if @event.save 18 format.html { redirect_to @event, notice: 'Event was successfully created.' } 19 format.json { render :show, status: :created, location: @event } 20 else 21 format.html { render :new } 22 format.json { render json: @event.errors, status: :unprocessable_entity } 23 end 24 end 25 end 26 27 private 28 def send_data 29 #個人情報をCisco Sparkに送るメソッド 30 end 31end 32

###イメージ図
イメージ図

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

satoshih

2018/08/11 02:40

顧客ごとにテーブル定義や、そのアトリビュートに対するvalidation、外部アクセスのためのAPIkeyなどを持ちたいということでしょうか?
kozica

2018/08/15 00:47

そのとおりです!
guest

回答1

0

クラウド上に設置した一つのRailsアプリで複数のお客様に対応したいということですよね?

キーをconfigに設置するのではなく、Clientモデルなどを作成し、id/passwordを与えて、ログインしてもらう方向性にするしかないのではないでしょうか?

もちろん、Eventモデルなどにも、Clientモデルとの関連をつけていく必要があると思います。

投稿2018/08/16 07:57

編集2018/08/16 07:58
NaoyaFujita

総合スコア38

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kozica

2018/08/16 07:59

なるほど 回答ありがとうございます!
NaoyaFujita

2018/08/16 08:01

意図としてはあっていましたか?もし、込み入ってアドバイスが必要でしたらご相談ください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問