2021-08-01から1ヶ月間の記事一覧
attr_accessor セッターメソッド(属性を与える)とゲッターメソッド(属性値を読み取る)を同時につくる。 インスタンス変数にDBには保存しない仮想的な属性を与える時に有効。 class User < ApplicationController attr_accessor :remember_token ...
render ビューを出力(レンダリング)する。リクエストは行われない。 描画するためのテンプレートを探す(規約:views/コントローラ名/アクション名.html.erb) 見つかったテンプレートをもとに、データを展開し最終的なHTMLを生成しレンダリングする。 cla…
protected:定義されているクラスのインスタンスであれば呼び出せる private:そのオブジェクト(selfを使う文脈)からしか呼び出せない どちらも:定義されているクラスとサブクラスのインスタンスメソッド内でのみ呼び出せる。 class Piyo def internal pr…
マスアサインメント機能:複数のパラメータをまとめて登録・更新できる機能。 user = User.new(params[:user]) # 複数のパラメータの集合 user.save マスアサインメント脆弱性:上の例で、params[:user]が改変されていた場合(adminなどのパラメータの追加な…
<%= form_with url: posts_path do |f| %> <%= f.text_field :title %> <% end %> postsコントローラにparams[:title]を送る <%= form_with scope: :post, url: posts_path do |f| %> <%= f.text_field :title %> <% end %> postsコントローラにparams[:post…
RailsのMVCでいうモデルに相当するもの。 CRUD、コールバック、バリデーション、マイグレーションに関するメソッドを提供する。 また、様々なデータベースとの互換性があり、データベースの種類に関わらず同じ表記ができる。 ORMフレームワークとしてのActiv…
アセットパイプライン:JavaScriptやCSSやそれらの拡張言語で書かれたアセットを最小化 (minify: スペースや改行を詰めるなど) または圧縮して連結するためのフレームワーク。分割されたアセットファイルを一つにまとめて配信することで、開発効率と読み込み…
Sass:CSSの拡張言語 ネスト スタイルシート内に共通のパターンがある場合は、要素をネストさせることができる。 .title { text-align: center; h1 { margin-bottom: 10px; } } h1は.titleのルールを継承している 変数 値に変数名を与えることができる。 $la…
Bootstrap CSSひな形フレームワーク。 使用手順 1.bootstrap-sassのインストール gem 'bootstrap-sass' % bundle install 2.asset/scssにcustom.scssを作成 @import 'bootstrap-sprockets'; @import 'bootstrap' 一番上に記入
Rubyは オブジェクトとメッセージの受け渡しで全てを表現できる。オブジェクトを中心に物事をおこす(オブジェクト指向) オブジェクトにはメッセージを投げかけると何かしら返ってくる。文字数は?とか空ですか?とか trueという答えですらオブジェクトであ…
Bundler:Gemの依存関係を管理するライブラリ。 Gemの依存関係を管理するとは? 一つのGemを使えるようにするために、そのGemが依存しているGemも一括でインストールする。バージョンも合わせる。 bundleコマンド % bundle exec ____ Gemfile内で指定されて…
Gemfile:必要なGemを記述する。 Gemfile.lock:bundlerによって固定されたGemの具体的なバージョンを記録する。バージョン管理に使う。 Gemfileの書き方 gem 'rails', '____' 1.0.0 # バージョンを固定 >= 1.0.0 # これ以上のバージョンが必要 >= 1.0.0, < …