タグ

ブックマーク / izumisy.work (1)

  • コントローラを名前空間で分離して責務の分割をする - Runner in the High

    Deviseなどを使って、ひとつ以上のスコープを持つアプリケーションを開発している際に、RESTfulなコントローラとビューが1対1対応をしていると、コントローラがどうしても複数のスコープが絡みついた見通しの悪いコードになりがちである。 たとえば、ECカートを実装する例を考えるとする。まず、ChargesControllerがあって、newアクションとcreateアクションはUserスコープによって決済を行う、いわゆるカートの画面を表示にまつわるもの。そして、showアクションはAdminスコープのみでアクセスできるよう認証を実施し、決済情報の詳細を見れるものである。 class ChargesController < ApplicationController def show authenticate_admin! ... end def new ... end end この段階ではコ

    コントローラを名前空間で分離して責務の分割をする - Runner in the High
  • 1