やまもとのブログ

やまもと(25)の日々わすれていくようなことを、とりまとめたもの

Railsべんきょうめも その1

Ruby on Rails学んでいて、日にちが空いてしまうと忘れてしまう… ということをまとめていく、おべんきょうメモです。 ドットインストールを見ながら復讐(Railsのレッスンは2周ぐらいやってるはずなのに、細かいところまで覚えられていない…)

bundle install は一度やったらスキップできる

$ rails new [アプリ名] --skip-bundle

これでbundle installをスキップすることでアプリの作成時間が省略できるようになります。

1からアプリを作成するとき

モデルを作成

モデルは単数形、大文字はじまり、です!

$ rails generate model Project title

generate は g と省略可能! これでモデルを作成することができます。

ちなみにモデルとは MVCのM!

MVCとは M(モデル):データのこと? V(ビュー):見た目のこと? C(コントローラー):モデルからもらったデータをビューにわたす???

こんなかんじでしょうか?

コントローラーを作成

コントローラーは複数形、大文字はじまり、です!

$ rails g controller Projects

このコマンドを実行したら、

/アプリの場所/config/routes.rb

というファイルがあります。 このファイルを編集してルーティングの設定を行います。

ルーティングとはなんぞや?

http://localhost:3000/ にアクセスしたときの、スラッシュで終わっているときにどこにリンクするか! の設定。くらいに思っています。

レッスン07まで

vimで置換するときに失敗してたこと…

今日の作業中に、:global (:g)vglobal (:v)の使い方がわからなくて ちょっぴりあせった話です。。

基本的な使い方

まずは↓これ

:global   // :g は省略形

使い方

:global 検索したい文字列

とすると検索したい文字列が含まれる行をターミナル画面下部に表示してくれます。 実際に見たほうがはやいですね!

こんなかんじです。

また:vglobalはその反対で、検索したくない文字列を入れて実行すると、先ほどの:globalの実行結果は2行のみでしたが、その2行以外が表示されるといった感じです。

検索したいだけならノーマルモードで、/検索したい文字列の方が べんりやーーーんって話ですが…

これだけじゃああないんです!!!

この記事のタイトルにもなっているように、 チカンをするときに活躍してくれるのです!!

例えば、↑のデモのように、httpを例にしてヤッてみましょう! あえて省略形で、更に:vglobalの方を使ってやってみます。

:v http/s/href="\//href=/gc

何をやっているかというと

「httpを含まない行の href="/ を href="」にしなさいということをしています。

製作中についうっかり、パスの書き方を相対で 書かなきゃいけないのに、ルート相対でかいてたああああ

なんてときに使えるコマンドですね。

誰も使わないですね。。。笑 自分はその逆で、ルート相対でパス指定しなきゃならんのに 相対パスでかいてあるううう…という場面に直面して 上記のコマンドをちょちょいと変更して、1つずつ確認しながらyを押していきました笑

そして誰も気にしていない、自分が犯していた失敗とは…

sの前に%をつけていたのです。。。

こうすることで普通に置換する状態と何ら変わらない状況に…。 さらに、置換対象の一番下にきて、入力し終えても永遠にチカンし続けられるという状況になります…。

こうなったらCtrl+cで脱出するほかありませんでした。。。 グーグル先生に助けを求めながらvimを使うと、基本がわからないので、 こういった自分の罠にハマりながら普段の制作をしております笑

がんばろう。。。