わたろぐ

仕事、読書、ガジェット、グルメ、写真、旅行など雑多な備忘

Ruby on Railsを触ってみる ①導入

最近Railsを勉強中。 勉強がてら思いついたアプリを作ってみることにした。

この前Twitterのアカウントを移行した時に取得した、全ツイートのCSVファイルがある。これを取り込んで、検索機能をつけたり、年月ごとに参照できるようにしたい。これtwilogでできるんだろうけど、僕の知る限り公開アカウントじゃないと使えなかったので、まずはローカル環境で過去のツイートを参照できるようにしてみよう。

プロジェクト名はtwi○○みたいなのが良かったので、とりあえず辞書引いたら出てきたtwiceにしてプロジェクトを作成する。

$ rails new twice

できた。 早速デフォルトで起動。

$ cd twice
$ rails s

起動画面。 First commit twata701/twice GitHub

某先輩のブログを参考に、.gitignoreを編集する。

$ vi .gitignore
*.rbc
*.sassc
.sass-cache
capybara-*.html
.rspec
/log
/tmp
/db/*.sqlite3
/public/system
/coverage/
/spec/tmp
**.orig
rerun.txt
pickle-email-*.html
config/initializers/secret_token.rb
config/secrets.yml

## Environment normalisation:
/.bundle
/vendor/bundle

# these should all be checked in to normalise the environment:
# Gemfile.lock, .ruby-version, .ruby-gemset

# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
.rvmrc

初期コミット。Add tweet by scaffolding twata701/twice GitHub

scaffoldでTweetというモデルをつくる。 CSVの項目に合わせる。

$ rails g scaffold Tweet /
> tweet_id:string /
> in_reply_to_status_id:string /
> in_reply_to_user_id:string /
> timestamp:datetime /
> source:text /
> text:text /
> retweeted_status_id:string /
> retweeted_status_user_id:string /
> retweeted_status_timestamp:datetime /
> expanded_urls:string 

DBマイグレートでテーブルの作成。

$ rake db:migrate

例に習いコミット。 Add tweet by scaffolding twata701/twice GitHub

例に習いTwitterbootstrapも導入しておく。

gemfileを編集。3行を追加。

gem 'therubyracer', platforms: :ruby
gem 'less-rails'
gem 'twitter-bootstrap-rails'
$ bundle install
$ rails g bootstrap:install
$ rails g bootstrap:layout application fluid

それっぽくなった。 Add bootstrap twata701/twice GitHub

参考: 2時間で作る実用 Rails アプリ : あかぎメモ