パーフェクトRuby on Rails -増補改訂版-

【パーフェクト Ruby on Rails】を読む - その17

3-3-4 あらかじめ用意したデータを読み込む(seed.rb) seedデータを投入の際は、!付きメソッドを利用し、エラー発生にすぐに気づけるようにすると良いです。 Blog.create!(name: 'cool blog') batch処理とは バッチ処理とはコンピュータでひとまとまりのデー…

【パーフェクト Ruby on Rails】を読む - その16

3-3-2 テーブルの定義を反映させる マイグレーションファイル内ではデフォルトではchangeメソッドが使用されています。 bin/rails db:migrateを実行したら、upになり、bin/rails db:rollbackを行うとdownになります。 remove_columnはupになる事でテーブルが…

【パーフェクト Ruby on Rails】を読む - その15

DBを管理する railsコマンドで利用できる主なコマンド コマンド 概要 rails db:create データベースを作成する(SQLite3の場合は不要) rails db:drop データベースを削除(SQLite3の場合は「.sqlite3」ファイル自体を削除) rails db:migrate マイグレーション…

【パーフェクト Ruby on Rails】を読む - その14

3-2-5 RailsとRackの関係 Railsアプリケーションはrackupで起動可能です RailsはRackの仕様に則ったアプリケーションなので $ bundle exec rackup コマンド実行後、ブラウザのlocalhost:9292で起動できます。 rails newすると config.ru というファイルがあ…

【パーフェクト Ruby on Rails】を読む - その13

Rackミドルウェアを学習している最中にinitializeメソッドを定義していたのでinitializeメソッドについて再度復習しました。 initializeとは newのデフォルト値として設定できる(Ruby超入門p200~) ※RailsのModelではActiveRecordを継承しているため、initial…

【パーフェクト Ruby on Rails】を読む - その12

3-2 Rack Rackは、RubyでWebアプリケーションを開発するための、最小限でモジュール化された適応性の高いインターフェースを提供します。HTTPのリクエストとレスポンスを可能な限りシンプルな方法でラップすることで、ウェブサーバー、ウェブフレームワーク…

【パーフェクト Ruby on Rails】を読む - その11

第3章押さえておきたいRailsの基本機能 テストの種類と実行方法 ソフトウェアの開発において、テストを行うことで品質を一定の水準に保つことは必要不可欠です。プログラムのテストを記述する事でトータルコストを少なくするため、Rails標準のテストフレーム…

【パーフェクト Ruby on Rails】を読む - その10

2-5 ビュープレートについて 2-5-1 ヘルパーメソッドの利用 ヘルパーメソッド ViewをよりシンプルにDRYに書くための、Railsで用意されたモジュール。基本的にはviewをhelpしてくれるもの。自分で作ることもできる。 $ rails routesコマンドを打つと表示され…

【パーフェクト Ruby on Rails】を読む - その9

2-3-5 StrongPrameters 想定通りのパラメータかどうかをホワイトリスト方式でチェックする機能です。 マスアサイメント データベースに保存されるカラムを一括で指定できる機能 コントローラーのprivateに記載する 検証ツールなどで想定外の項目を追加して送…

【パーフェクト Ruby on Rails】を読む - その8

2-2-4 ルーティングとリソース resources resourcesメソッドとは、railsで定義されている7つのアクションのルーティングを自動で作成するメソッドです。 resourcesメソッドを使うことにより、簡単にルーティングを作成することができます。 idを持つルートに…

【パーフェクト Ruby on Rails】を読む - その7

2-2-4 コールバックによる制御 必ず行いたい前処理や後処理を書けます。 before_○○○○○ ahter_○○○○○ around_○○○○○←あんまり使わないかも ログを残したい場合に条件を自分で設定し作成できます。 ログレベル ログレベル 名称 内容 0 debug デバッグ情報など 1 …

【パーフェクト Ruby on Rails】を読む - その6

SQLite3ではnot null制約を付与しつつカラムのデフォルト値を指定しない場合、カラムの追加でエラーになってしまいます。 例) # NG class AddNicknameToUsers < ActiveRecord::Migration[6.0] def change add_column :users, :nickname, :string, null: fals…

【パーフェクト Ruby on Rails】を読む。その5

第2章 Ruby on RailsとMVC 2-1 MVCアーキテクチャ M(Model) データベースとの接続 V(View) 視覚表現を行う部分 C(Controller) ModelとViewをつなぐ部分 2-1-2 モデルの役割 - データベースと接続し、データベースのレコードをActive Recordオブジェクトを結…

【パーフェクト Ruby on Rails】を読む - その4

1-4-4 http://localhost3000/rails/info/routesにアクセスすると現在のルーティング情報が表示されます。 コントローラー内で定義されたpublicメソッドのことをアクションと呼びます。 (:format) アクセスしたURLの拡張子によってレスポンスを変化させるため…

【パーフェクト Ruby on Rails】を読む - その3

1-4scaffoldを使ってRailsでの開発を体験しよう 1-4-1 % ls -1FA db/migrate lsコマンド : ファイルやディレクトリの情報を表示することができます。 ls -1FA db/migrateの分解 ・・・ 1 = ハードリンクの数(ハードリンクはファイルのあだ名のことです。) ・…

【パーフェクトRuby on Rails】 を読む - その2

2021年8月27日輪読会 1−3 Railsを始めよう!! rails newしたときに使うrailsのバージョンをgem install rails -v 6.0.3でインストールできます。 bin とは binstub binディレクトリに用意されているファイルのことをbinstubと呼びます。それはbundle execをつ…

【パーフェクトRuby on Rails】 を読む - その1

※ちゃんとしたやつ書こうと思い書きました。 パーフェクトRails 1章 1-1-1 プロジェクトを新規登録する際、git init で作業を記録する場を構築します。 Ruby2.7とRails6.0の組み合わせは警告が発生する場合があります。 1-1-2 Rubygemsとは RubyGemsは、Ruby…