rails

ActiveRecord=RubyとSQLの翻訳機

とは Active Recordとは、MVCで言うところのM、つまりモデルに相当するものであり、ビジネスデータとビジネスロジックを表すシステムの階層です。Active Recordは、データベースに恒久的に保存される必要のあるビジネスオブジェクトの作成と利用を円滑に行な…

RailsにJSを書く前に、yarn, npm, webpack, webpacker, ES6を理解する。

npmを便利にしたものが、yarn JSは、ES5からES6へ。クラスやアロー関数などが使えるようになった。(babelで変換可) 上記のファイルの依存関係等をいい感じにまとめてくれるのが、webpackで、Railsにフィットさせるためのwebpackerというのがある。 npm Jav…

Mysql2::Error: Table 'myapp_development.post_tags' doesn't exist のエラー解決

背景 postを削除しようとしたら、このエラーが起こった。 解決のプロセス mysqlのテーブルを見てみる mysql> use myapp_development Reading table information for completion of table and column names You can turn off this feature to get a quicker s…

Pumaについて

bindle exec puma -d 指定する場合 bundle exec puma -C config/puma.rb pumaはサーバのソケットを開いたままリスタートできます。要するに、ユーザーに対してサーバを開放したままサーバのリスタートができるということです。ユーザーを待たせることがない…

binding.pry使い方

知らなかったこと: 処理を止めたコントローラーで、コンソールから変数を入力すると、定義されていれば値が帰ってくる。定義されていなければ、nilが帰ってくる。 viewでも実行できる <%= @book.title %> <% binding.pry %> これで、@book.title内に本当に正…

ゲストユーザーを編集させない

はじめに 編集ボタンを隠すやり方もあるが、"編集画面を作っている"と、ポートフォリオを見る人へ伝えたかったので、編集ボタンを表示させて、それを押したら→リダイレクト→「ゲストユーザーは編集できません」のメッセージを表示。というやり方で実装しまし…

本番環境では、なぜrails sではなくNginx,Puma?

rack(rails s)はあくまで、アプリケーションサーバー。なので、webサーバが持っているような負荷を分散させるための機能などがなく、実運用していく上で、大勢の人がサイトを見たときなどにとても重くなってしまう。 nginx: たくさんの人から、同時アクセス…