Rails

Railsのdependentオプション

モデルで関連づけの記述をするときに使うdependentオプション。 中でもよく使うのはdestroyだと思う。 destroyもあるがdeleteもあるのでその違いをば。 ・deleteとdestroyのちがいは? とりあえず公式↓ dependentについて:Rails ガイド delete・・・最小限…

【パーフェクト 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…

Node.jsのversionを切り替える[詰んだ]🤦‍♀️

[環境構築]のおはなし Node.jsのversionを切り替える See??? See.ruby-version. See Gemfile. ただ単に「見てね」って事らしい コマンドじゃない事は分かっていたがそういうこと やらかした‍♀️ 指定されたNode.jsのバージョンを切り替える時になんやかんやや…

備忘録 Rspecヒント

フォークしてきたgithubをよく見る letの挙動と性質を振り返ること 処理の流れをよく知ること expectが「期待すること」 期待する処理をするためにブラウザで実際にやってみる letの定義をvisitの引数で使う let(:task) { create(:task) } …省略 it '…' do …

System Spec

おことわり 実装に関してはググればもっと上手く綺麗にまとめてある方の記事があるのでそちらをご覧ください。 未来の忘れた自分に対する説明の仕方なので要点だけ知りたい人には向きません。ごちゃごちゃしてます。(下手くそかよ) 必要最低限の記述の仕方は…

FactoryBotのシーケンス

※振り返れば「だからそうだっていってんじゃん!」と怒られてしまうようなしょうもない事です。 今回記載するのはModel specと呼ばれるモデルに関するテストの備忘録 RSpecの基本において参考にしたのは以下 使えるRSpec入門・その1「RSpecの基本的な構文や…

Railsで管理画面 - ユーザー 編

前回の続き michimo-10.hatenablog.com ・コントローラー adminの時はbase_controllerを使っているので、今まで使っていたApplicationControllerで作ったboards_controllerやuser_controller。。。などは引き継がれない(引っ張ってくることが出来ない) つま…

Railsで管理画面 - 掲示板 編

前回の続き michimo-10.hatenablog.com ・コントローラー adminの時はbase_controllerを使っているので、今まで使っていたApplicationControllerで作ったboards_controllerやuser_controller。。。などは引き継がれない(引っ張ってくることが出来ない) つま…

管理画面へのログイン機能、管理画面トップページの作成 { 続き

前回の続き、 ヘルパーで編集が完了したら、今度は表示させる部分にももう一工夫必要だ。 admin/layouts/application.rb <title><%= page_title(yield(:title), admin: true) %></title> admin: true というのを付け加える事で管理者の時のページタイトルとそうでない一般時…

パスワードリセット

ActionMailerを使う letter_openerというgemを使う トークンにユニーク制約をする ログイン画面にリセットページのリンク作成 開発環境では送れないようにする リセット画面の作成 クリックすると反応するメールのフォームとラベルをつける リセットの申請を…

【Rails】画面下の番号をクリックすると次のページにいくやつ【ページネーション】

備忘録: こういうやつ↓これを一覧表示するページの下に表示させる pagenate gemを入れる 今回使うのはRailsのkaminariというgem。 github.com そして、やり方 qiita.com 基本的に上のようにやっていけば良し Gemfile内にgem 'kaminari'を記述してから ター…

【パソコン】Rails初学者の覚えること

Railsでクセづけること ターミナル編 普段から使えるショートカット 初学者向けであり備忘録Spotlight検索- ターミナルやブラウザなど検索してすぐ表示させる [⌘command] + スペースキー Railsでクセづけること Railsで使えるメソッドの機能を知ること(なる…

rails g コマンドで生成ファイルの制限

よくRailsでアプリを作るときにサンプルとして挙げられる scaffold これを使わずして作っていこうとしているのが Railsチュートリアル railstutorial.jp とはいえscaffold便利だよね~ 正直よく分かってなくてもできあがっちゃうからscaffold無しで作れとなる…

Railsの処理の流れ

基本 Railsチュートリアルや書籍などでよく言われる MVC(モデル・コントローラー・ビュー) 実際の処理の流れは CMV コントローラ → モデル → ビュー これが基本になるが、細かく言えばコントローラーに行く前にルーティングという処理も通る なので、正確に…