読者です 読者をやめる 読者になる 読者になる

WEB系エンジニアの勉強日記

Baby steps to Giant strides!

Rails

Model周り - helpy code reading

共通部分を切り出す CakePHPでいうBehaviorやComponent, Helper Rails 共通部分を切り出す (View, Controller, Model) メモ - Qiita 関連したモデルのフォームでの扱い Rails ネストした関連先のテーブルもまとめて保存する (accepts_nested_attributes_for…

ログイン後の初期設定 - helpy code reading

github.com 初期ログイン後に表示される初期設定画面周りのコードを見ていく。 流れ ログイン後のリダイレクト admin's root admin/dashboard#index to admin/topics#index def index #@topics = Topic.mine(current_user.id).pending.page params[:page] if…

ActionController#respond_to - code reading

requestのMIME TYPEに応じたレスポンスを定義する機能 定義は rails/mime_responds.rb at 48f140cf7459c963a54637c897448b959dbbfd26 · rails/rails · GitHub ActionController:: MimeResponds#respond_to def respond_to(*mimes) raise ArgumentError, "res…

extends core Date - Rails code reading

activesupport/lib/active_support/core_ext/date/conversions.rb to_sで指定できるフォーマットを拡張している。 一番上に対応するフォーマットが定義されている。 class Date DATE_FORMATS = { :short => '%d %b', :long => '%B %d, %Y', :db => '%Y-%m-%d…

ActionDispatch::Http::UploadedFileのコードリーデイング

概要 ActionDispatch::Http moduleに class UploadedFile が定義されている。 サーバーにアップロードされたtime fileを扱うクラス。 pickup initialize以外の処理は@tempfileに対するショートカット。 initializeでは、ファイルの有無チェックとファイル名…

ActionDispatch::Http::URLのコードリーディング

概要 ActionDispatch::Http::URLモジュールに諸々追加している。 pickup class << self でクラスメソッドをまとめて定義している。 hostからドメインを取得する。 Array#last は要素数を指定できる。 def extract_domain_from(host, tld_length) host.split(…

ActionDispatch::Http::Headers のコードリーディング

なぜ? CakePHPを長く使っていて、Railsを趣味でちょいちょい触ってみている状態で、 その差として思いつくのが、 標準のコンポーネント、機能の知識 有用なプラグイン知識 言語自体の経験 この標準機能の知識と言語の慣れを埋めるために、railsのコードを読…