Railsチュートリアルメモ
※随時更新 備忘録のために
半分自分の備忘録のために書いていますが、チュートリアルを始めたばかりの方々も対象にしています。
私がチュートリアルをやった際にあまりに用語と用語の関係性が分からなかったので、
用語と用語の関係性が分かるように用語の意味を書き留めている記事です。
routes.rbファイル内ルーティング
root 'controller名#アクション名'
###テスト駆動開発
keep green
※3章後編
答えが分かった状態でその状態を目指す。
テストに先に求めたい動きをあらかじめ書いといて、
それが実装した後にちゃんと動くかどうかを確認しながら
開発する方法
↑※先に書くか後から書くかは場合による※
###リファクタリング
※3章後編
冗長さをなくすこと。
まとめられるところはまとめる。
###コントローラ
Railsのコントローラは、ApplicationControllerを継承したRubyのクラスであり、他のクラスと同様のメソッドが使えます。アプリケーションがブラウザからのリクエストを受け取ると、ルーティングによってコントローラとアクションが指名され、Railsはそれに応じてコントローラのインスタンスを生成し、アクション名と同じ名前のメソッドを実行します。
出典:RAILS GUIDES
https://railsguides.jp/action_controller_overview.html#%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%81%AE%E5%91%BD%E5%90%8D%E8%A6%8F%E5%89%87
###クラス(RUBY)
クラスとは、インスタンスの元となる、オブジェクト指向の設計図のようなものです。
出典:テックアカデミー
https://techacademy.jp/magazine/9720
####クラスの書き方
class User
def initialize(name) #←メソッド(関数)
@name = name
end
def put_name #←メソッド(関数)
p @name
end
end
(クラスの中に複数のメソッド)
####Rubyのメソッド
正確には、Rubyはすべてがオブジェクトといえる。
記法
"foobar".length
⇒6
"foobar"というオブジェクトに対して、lengthというメッセージが渡される。
その結果(lengthで長さを聞いているので)6という結果が返ってくる。
※オブジェクト指向言語はすべてのオブジェクトにメッセージが送れる。
→すべてのメッセージに対して返答が返ってくる。
####Rubyにおける?の意味
true or falseを返してくる
####メソッドチェーン
メソッドを何回も繰り返す
記法
メソッド.メソッド.メソッド
前のメソッドに対して、後のメッセージを投げる。
返ってきたメッセージ対して後のメッセージを投げる。
####Ruby公式リファレンスマニュアル
るりま
https://docs.ruby-lang.org/ja/
####Rubyの文法や構文に関して
4章見るべし
####アクションとメソッド違い
もはや同じだけど、通常アクションはrailsでの使われ方で
メソッドはRubyでの使われ方の違い。
####アクティブレコード
DBの言語をRailsを通して扱えるようにするもの。
コントローラで変数を定義してもローカル変数だから、一度そのコンソールから出ると、
データが残らず変数が消えてしまうけど、アクティブレコードを使って保存するコマンドを使うと
コマンドを抜けても変数は保存されるようになる。
####モデル作成の際
ほぼほぼ議論の余地がないくらいにテスト駆動開発が先に書かれる。
####インスタンス変数とローカル変数
インスタンス変数はメソッド外からも呼び出せる。
ローカル変数はメソッド内からのみ呼び出せる。
記法
#インスタンス変数
※メソッドの外側からも呼び出せる
def show
@user = user.find
end
#ローカル変数
※メソッドの内側でのみ有効
def show
user = user.find
end