Skip to content

Instantly share code, notes, and snippets.

@tkawa
Created August 16, 2014 09:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tkawa/ca1f92cd40cd70a845ac to your computer and use it in GitHub Desktop.
Save tkawa/ca1f92cd40cd70a845ac to your computer and use it in GitHub Desktop.

RailsGirls Tokyo, More! #15 2014.08.16

よちよち.rbで作成しているアプリ(の主にGit操作)と、Railsチュートリアルを進めました。

よちよち.rb Kajaeru Railsアプリ

プルリクエストによる開発の進め方 プルリクエストでレビューを受け、指摘があったときは同一のブランチ上でそれを修正・コミットし、pushする。

1つのプルリクエスト(ブランチ)にはコミットが複数。 意味のある(コミットメッセージで説明できる)できるだけ小さい単位でコミットしていくのがよい。

gitの操作

git add . 今いるディレクトリ以下をすべてaddする。ただしファイルの削除は含まれない。

ファイルの削除を含めて、すべてを変更に入れるには git add -A

git addの逆の操作はgit reset HEAD ファイル名。これでaddを取り消せる。

Railsチュートリアル 4.2 文字列(string)とメソッド

コードを実際にrails consoleに入力しつつ進めていきました。

4.2.2 文字列

シングルクォートとダブルクォートを使い分ける。\nや式展開を使う時だけダブルクォートを使うようにすれば、あまり問題は起こらない。

4.2.4 メソッドの定義

メソッド(関数)には引数と戻り値があります。最後に評価された式の値が自動的に返されます。

4.2.5 title ヘルパー、再び

このヘルパーはKajaeruにも役立ちそうなので理解しておきましょう。

module ApplicationHelper

  # ページごとの完全なタイトルを返します。# コメント行
  def full_title(page_title)                          # メソッド定義
    base_title = "Ruby on Rails Tutorial Sample App"  # 変数に値を割り当てる
    if page_title.empty?                              # 論理値テスト
      base_title                                      # 暗黙の返り値
    else
      "#{base_title} | #{page_title}"                 # 文字列の式展開
    end
  end
end

4.3.1まで。次回は4.3.2から。

Kajaeruアプリのgitのmergeがうまくいかなかったので、解決

本当はどういう操作をしたかをその場で説明しながら進められればよかったんですが、時間がなかったので説明できませんでした。 簡単にはこのような経緯です。

  • git pull origin masterしたがconflict。この時点で、GitHub上のmasterに入っていない、Windows依存の変更が間違ってローカルのmasterに入っていたようです。
  • git reset --hard {コミットID}でmasterを前のコミットに強制的に戻す。(この操作は普段はやらないでください)
  • もう一度git pull origin masterで成功。

masterはこまめにgit pullをおこなって、GitHub上と同じ状態を保つようにしてください。

@miyohide
Copy link

あの場では、あまり明確に答えることができなかったのですが、Rubyの実行環境に応じて入れるGemを分ける方法が次に記述されていました。

http://stackoverflow.com/a/8420465

RUBY_PLATFORMというRuby内の環境変数を使って、Windows(win32)か、Mac(darwin)などを分けることができるようです。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment