もた日記

くだらないことを真面目にやる

Railsメモ(1) : Ruby on Railsで簡単なアプリを作成してみる

※追記:なんだかんだでできたアプリは以下から
Billboard Year End Hot 100 Singles

Ruby on Railsの本を読んだりチュートリアルなどをやってみたけど、いまいち理解できてないので自分で簡単なアプリを作成してみる。
環境は下記の通り。

で何のアプリを作成するかだが、洋楽が好きなので毎年年末に発表されるbillboard top 100(オリコンみたいなもん)のランキングを検索できるようなアプリを作成してみる。

ちなみに2014年の1位は"Pharrell Williams"の"Happy"だそうで。

アプリのひな形作成


まずはbillboard というアプリ名でひな形を作成する。-TオプションをつけるとTest::Unit用のファイル(testディレクトリ)が生成されなくなるので指定する(テストはTest::UnitではなくRSpecを使用するというサンプルが多いので)。

$ rails new billboard -T
      create
      create  README.rdoc
      create  Rakefile
      create  config.ru
      create  .gitignore
      create  Gemfile
 …省略…
Bundle complete! 12 Gemfile dependencies, 54 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
         run  bundle exec spring binstub --all
* bin/rake: spring inserted
* bin/rails: spring inserted

ファイルが正しく生成されたことを確認するためにWEBrickを起動して確認してみる。

$ cd billboard
$ ./bin/rails server
/home/vagrant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/execjs-2.5.2/lib/execjs/runtimes.rb:48:in `autodetect': Could not find a JavaScrip
t runtime. See https://github.com/rails/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
 …省略…

が、Could not find a JavaScript runtime.となったので、Gemfileの下記行のコメントアウトを外してbundle installして再実行。

gem 'therubyracer', platforms: :ruby<
$ bundle install
$ ./bin/rails server
=> Booting WEBrick
=> Rails 4.2.3 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2015-08-02 22:37:03] INFO  WEBrick 1.3.1
[2015-08-02 22:37:03] INFO  ruby 2.2.2 (2015-04-13) [x86_64-linux]
[2015-08-02 22:37:03] INFO  WEBrick::HTTPServer#start: pid=17378 port=3000

Railsのデフォルトトップページを表示するためにブラウザからhttp://192.168.33.10:3000/Vagrantを使用しているので)にアクセスしてみるが……何も表示されない。どうやらRails 4.2以降は-b 0.0.0.0を指定する必要があるらしい。

./bin/rails server -b 0.0.0.0
=> Booting WEBrick
=> Rails 4.2.3 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2015-08-02 22:48:20] INFO  WEBrick 1.3.1
[2015-08-02 22:48:20] INFO  ruby 2.2.2 (2015-04-13) [x86_64-linux]
[2015-08-02 22:48:20] INFO  WEBrick::HTTPServer#start: pid=17908 port=3000

オプションを指定して起動後にアクセスするといつもの画面が表示されるので確認は完了。

f:id:wonder-wall:20150802230223p:plain

パーフェクト Ruby on Rails

パーフェクト Ruby on Rails