9/2-Rails調べ


再び、Railsを確認する。Controllerから確認。

administrator_site_controller

  • Knockを使用して、json web token を作って返す。
  • 作ったよ、みたいな?createdだし
administrators_controller
  • admin_site_controllerを継承している
  • Accountableをincludeしている
  • Accountableはパスワード変更をしている
oems_controller
  • admin_site_controllerを継承
  • index,createの前はset oem
  • update,destroyの前はauthrizeで認可をチェック
  • indexは、jsonでデータをViewに渡している
  • createはmodelで処理した後にstatus : okだけ渡している
service_controller
  • serviceableをincludeしてる
  • serviceableでは、indexとset_serviceの二つが定義
  • set_serviceはauthorizeで権限チェック
  • indexで、serviceを全権取得してjsonにして出す
users_controller
  • ふつうにIndex/Create/Update/Destroyが定義されてる
zendesk_controller
  • organizationとuserを編集できる
  • 共通ファイルは省略
------
controllers/application_controller

  • 一般ユーザー用の共通処理を定義。これを継承してユーザークラスある
  • 認証・認可・スネークケース変換・共通エラー定義
contracts_controller
  • 契約の新規作成と削除
  • oem,カスタマー,サービスがパラメータ
customer_controller
  • create/show/update/index/destroy
  • index/updateは一部同じ処理
oem_service_controller
  • indexのみ
  • jbuilderに投げる
oem_controller
  • ホストネームを取得
service_controller
  • adminとユーザーで同一
user_token_controller
  • adminとユーザーで同一
user_controller
  • adminは処理が定義。userはaccountableのみ。
zendeskssion
  • generateURLが定義されてる。adminとは違う。
-------
reoutes:
  • モデル作った時、変更したときに自動的にできるファイル
スキーマ
  • admin
  • contracts
  • customers
  • oem_services
  • oems
  • services
  • users
  • virtual utms
------
モデル
cpe

  • クラスメソッドを使用しているのは、外部APIとの連携部だから
  • attr_accessorで謎の変数を定義しているのは、対抗システムであるmanoから飛んでくるjsonを一時受けするための設定値なのか?
反対に、どのようなときにクラスメソッドを用いれば良いのでしょうか?
上記の例で言えば「外部からデータを取得する処理」が一番多いシチュエーションだと思います。
DBからデータを読みだして、新たにインスタンスを生成する
ファイルからデータを読みだして、新たにインスタンスを生成する
オブジェクトを参照して、新たにインスタンスを生成する
一般にこのようなメソッドをファクトリメソッドと呼びます。インスタンスを生成する光景をファクトリ、工場に見立ててそう呼んでいます。 
インスタンスメソッドとクラスメソッドはどのようにして使い分けるべきか?(Rubyの場合)


punditの使い方を改めて確認する
Controllerで使う認可制御のライブラリ。
-アーキテクチャ

-使い方

-使うメリット


-問題点(コントローラーの肥大化)





認可という概念、散らかりやすいという問題点





[Action Controllerの概要]
リクエストに対して、適切な出力を行うための責任を担う機能。
データをモデルに保存する、取得する、、、などの作業指示をする。

命名規則について

  • Controllerは複数形(services_controller)
  • Modelは単数形(service.rb)でクラス名が大文字:Service
2つのパラメータ
を変数として扱う。その内容によって処理の詳細が変動していく。
  • クエリ文字列(/users/new)
  • POSTデータ
受け取り方は2種類とも同一である。コントローラー内でparamsとして
..........
Next Post Previous Post
No Comment
Add Comment
comment url