(お試し)Rails5.1でAngular環境を生成する
Rails5.1からwebpackビルド環境を生成してくれる,Angularもできるという話を聞いたので rails new してみただけのメモです。
$ gem install rails -v 5.1.0.beta1
$ rails new myapp --webpack=angular
$ cd myapp/app/javascript
$ ~/myapp/app/javascript (master #)$ tree -L 3
.
├── hello_angular
│ ├── app
│ │ ├── app.component.ts
│ │ └── app.module.ts
│ ├── index.ts
│ └── polyfills.ts
└── packs
├── application.js
└── hello_angular.js
関連
RailsでDecoratorを作る意味を調べた
Railsで、モデルの内容をビューに出すときにちょっと加工するみたいな時、そのコードはどこに書けばいいんだ問題。
デザインパターンの一つにDecoratorパターンというのがあって、これを適用させるのが良いらしい。この用途ではactive_decoratorと並んで人気のgem、draperの説明がとてもわかりやすかった。
draperのREADMEで挙げられているのは、Articleという記事のモデルがあり、これの公開状態を表示させる機能を実装するという例だ。これを読み、なぜヘルパーメソッドやモデルに直に実装するんじゃだめなの?という疑問に対する答えを意訳していく。
ヘルパーメソッドを作る場合
ヘルパーメソッドで書くと、こうなる。
# app/helpers/articles_helper.rb def publication_status(article) if article.published? "Published at #{article.published_at.strftime('%A, %B %e')}" else "Unpublished" end end
しかし、これには以下の問題がある。
But it makes you a little uncomfortable. publication_status lives in a nebulous namespace spread across all controllers and view. Down the road, you might want to display the publication status of a Book. And, of course, your design calls for a slighly different formatting to the date for a Book.
(意訳:けど、これはちょっと気持ち悪い。publication_statusは、全てのコントローラとビューに広がったはっきりしないネームスペースに存在している。将来、(Articleではなく)Bookのpublication statusを表示したくなるかもしれない。そしてこれにはもちろん、違った日付フォーマットが必要になるだろう。)
そりゃあまずいですね。
モデルに書く場合
Without a decorator, you'd have to implement the publication_status method in the Article model. That method is presentation-centric, and thus does not belong in a model.
(意訳:デコレーターを使わないとすると、Articleモデルにpublication_statusメソッドを実装することになるだろう。それはプレゼンテーションセントリックで、そのため一つのモデルには属さない。)
プレゼンテーションセントリックってのはビュー優先の考え方ってことかな。「ビューのためにモデルの責務を逸脱してない?それだめじゃない?」みたいな解釈をした。
Decoratorの役割
そこでお待ちかねのDecoratorの登場。Decoratorっていうのはデザインパターンの1つで、オブジェクトに対して新しい責務を追加してくれるもの。draperを使うと、
@article = Article.find(params[:id]).decorate
という感じでモデルを装飾することができる。
デコレーターというと難しい印象を受けるけど、装飾という意味の英単語なので、オブジェクトが最初から着膨れしないように、外に出るときだけおめかしして出れるようにしてくれるのがデコレーターだと捉えると腑に落ちる感がある。
雑感
こういうのが良いんだとすると、rails g controllerした時にモデル名に対応するヘルパーが生成される意味がよくわからない。PostsHelperというモジュールがあったら、「Postに対して何かするときのメソッド書いていきゃいいんだなー」と思って好き勝手書いてしまう。「あ、いや全体に影響するからDecorator作った方がいいよ」と後から知らされるのはどうなんだろう。
あと、オブジェクト指向理解するのに相変わらず苦労してるんだけど、やたら「責務」という単語が頻出することに気付いた。とにかく「おいそれ誰(どのオブジェクト)がやるべきなんだ」というのを強く意識し続けなければいけないというのがオブジェクト指向のつらみなのかなと、今のところはそんな感じで捉えてる。
追記
そもそもhelperのロードを対応するコントローラだけにする設定もあるとのこと。
参考
railsコマンドを追う
Ruby on Railsというフレームワークを使うとrails new Hogeとかでアプリケーションのひな形ができちゃって、rails serverでサーバーが立ち上げられたりするわけですが、これは一体どうなってるんだというのを追っていけたらなと思います。誰にでもわかるように書きたいです。今回こそはくじけずに書ききりたい。
railsとbin/railsの違い
railsはシステムにインストールされたrailsコマンドを呼ぶ(/Users/ユーザー名/.rbenv/shims/railsみたいな)。
bin/railsはそのプロジェクト下のbin/railsのコマンドを呼ぶ。
bin/rails
Railsプロジェクトを作ると、binというディレクトリの中にrailsというファイルがある。これをエディタで開いてみる。
$ vim bin/rails
中身はこんな感じ。
#!/usr/bin/env ruby APP_PATH = File.expand_path('../../config/application', __FILE__) require_relative '../config/boot' require 'rails/commands'
たった4行だ。
1行目
#!/usr/bin/env ruby
いきなり意味がわからない。
シバン
この記述、「シバン」(shebang)と呼ばれるもので、インタプリタを指定するために書かれるらしい。普通にRubyのスクリプト実行するときはruby rails.rbみたいに実行するんだけど、今回はrailsというファイルをrubyで解釈してもらいたいわけなので、ファイル内で「Ruby使うよ」っていうのを言ってあげる必要がある。そのため、このshebangが必要になっている。
要は、#!という2文字でOSに対して「これshebang行だからね」と伝え、/usr/bin/env rubyでrubyインタプリタを使うと伝えてる。
2行目
APP_PATH = File.expand_path('../../config/application', __FILE__)
APP_PATHに入るのがなにか分からない場合はこの行の後にp APP_PATHというコードを挿入してbin/railsを実行すれば見れる。
"/Users/ユーザー名/プロジェクト名/config/application"
このAPP_PATH、どこで使うことになるんだろう...?
3行目
require_relative '../config/boot'
これは普通に、config/boot.rbをrequireしてる。require_relativeを使うと、相対パスを指定してファイルを読み込むことができる。
boot.rb
では、このboot.rbの中身を見てみる。
1行目
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
ENVというのはRubyの環境変数を表すオブジェクト。ハッシュと違う点はキーにも値にも文字列しか指定できないというところ。
何やらプロジェクトのGemfileのパスをENV['BUNDLE_GEMFILE']という環境変数に入れているようだ。||=という演算子は「無かったら(厳密には「偽か未定義なら」)入れてね」という意味。
2行目
require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
ENV['BUNDLE_GEMFILE']にはGemfileのパスが入っている。「そこにGemfileあったらbundler/setupをrequireしてね」というような意味。
requireはどこを探しに行くのか
この記事がわかりやすい。
requireは引数のファイル名のRubyファイルを読み込んで実行するメソッドです。引数が絶対パスだったときはそのファイルを、そうでない場合はロードパスを優先順位上位から辿って最初に見つかったファイルをロードする。
じゃあ上記のrequire 'bundler/setup'はどうなってるのか。
rails consoleでirbを立ち上げて、以下を実行する。
$LOAD_PATH.each {|path| p path };nil
ぐあーっとパスが表示されるので、bundlerがありそうなところを探す。ちなみに表示する際、返り値として$LOAD_PATHが返ってくるととても見づらいのでここではセミコロンで区切ってnilを返り値にしてる。ぐあーっと表示されるのはほとんどgemのファイルなので、そういうの(kaminariとかjquery-railsとか)は無視してざっと見ると、bundlerのディレクトリが見つかる。
"/Users/ユーザー名/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib"
ここに移動する。
cd /Users/ユーザー名/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib
で、lsで見ると、bundlerというディレクトリとbundler.rbというファイルが見つかる。
ls bundlerでbundlerディレクトリの中身を表示。すると、setup.rbというファイルが見つかる。
setup.rb
setup.rbを開くと、430行くらいのコードが書かれている。全部見るのきついので「ああセットアップするんだろーな」という雰囲気だけ感じて、ファイルを閉じる。参照元のboot.rbが、GemfileがあればBundlerをセットアップするというのはわかった。setup.rbももう少し読んだ方がいいんじゃないかと思いつつ逃げるようにbin/railsに戻る。
4行目
4行目はなんだかとても楽しそう。commandsっていう名前からして明らかにこのエントリの本筋に迫る感じだ。
require 'rails/commands'
Railsはrailtiesっていうライブラリにぎっしりと機能が詰まっているというのが記憶のどこかにあったので、それを見てみる。
cd /Users/ユーザー名/プロジェクト名/vendor/bundle/ruby/2.1.0/gems/railties-4.1.4/lib
案の定、railsというディレクトリとrails.rbというファイルがある。今はcommands.rbを探しているので、それを見てみる。
vim rails/commands.rb
こんな感じ。
ARGV << '--help' if ARGV.empty? aliases = { "g" => "generate", "d" => "destroy", "c" => "console", "s" => "server", "db" => "dbconsole", "r" => "runner" } command = ARGV.shift command = aliases[command] || command require 'rails/commands/commands_tasks' Rails::CommandsTasks.new(ARGV).run_command!(command)
おお!実行してる!コマンド実行してる!
rails serverとタイプした時の流れとしては、このcommandという変数に"server"が入り、CommandsTasksインスタンスのメソッドがこれを受け取って処理してくれるみたい。インスタンス初期化の時に渡してるARGVの中身は、コマンド後のオプション。
というわけで、railsコマンドをタイプした時に内部で何が起きてるのかをざっくりと見てみました。ちょっとざっくりしすぎている部分はまた書き足すかもしれません。
Deviseで作ったUserモデルにnameカラムを追加しようとしたらstrong_parametersに阻まれた時の対処
ググって見つかった記事(Rails Deviseでサインアップ用のユーザー登録フォームに、独自の入力フィールドを追加する | EasyRamble)とかを参考にして「ああこれなら簡単そう」だと思ってたんだけど気づいたらけっこうな時間ハマってた。
原因はRails4からのstrong_parameters。
deviseで作ったユーザーモデルにnameカラムを追加しようと思って、rails g migration AddNameToUsersとかやって、ビューにフォーム用意して、いざサインアップしようとしたら以下の様なエラー。
Processing by Devise::RegistrationsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"xxxxxxxx", "user"=>{"name"=>"gaaamii", "email"=>"gaaamii@example.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Sign up"}
Unpermitted parameters: name
Unpermitted parametersですって。そうかそうか。勝手に追加した値を受け入れてくれるわけないっすよねー。えへへ。とはいってもdeviseが生成したコントローラ、どうやって書き換えるの...?
...と、調べてみるとdeviseのREADMEにちゃんと書いてあった。
In case you want to permit additional parameters (the lazy way™) you can do with a simple before filter in your ApplicationController.
class ApplicationController < ActionController::Base before_action :configure_permitted_parameters, if: :devise_controller? protected def configure_permitted_parameters devise_parameter_sanitizer.for(:sign_up) << :username end end
【Rails】ログインした後に元のページにリダイレクトする
こちらを参考にしました。
def store_location session[:return_to] = request.request_uri end
リクエスト情報からurlを取ってセッションに保存しています。ただ2009年の記事だったため情報が古かったのか、request_uriメソッドを呼べませんでした。requestオブジェクトに入っているurlを取るにはfullpathでアクセスできるようです。
request.fullpath
ASIN複数指定で商品情報を一括取得する方法(Amazon Product Advertising API)
Product Advertising APIの基本的な使い方は省きます。
APIを叩く際はamazon-ecsというgemを使っていて、商品情報は以下のような形で取得していました。
Amazon::Ecs.item_lookup(asin_id, :response_group => 'ItemAttributes, Images', :country => 'jp')
ID1件ずつAPIを叩いていたんですが、そのせいでAmazonからのレスポンスがとれないことがありました。このAPIには「リクエストは1秒間に1回にしてね」という制限があるので、eachで回して5件分くらいのリクエストを送ると、当然拒否られるわけです。
複数取るにはどうすれば、ということで調べると公式ドキュメントのItemLookupの説明にこう書かれていました。
複数の商品を一度に検索するには、商品IDをカンマで区切ります。
なので、(amazon-ecsを使っている場合には)最初の引数の中身をASIN IDをカンマ区切りにした文字列にしてあげればいいです。
options = {response_group: 'ItemAttributes, Images',country: 'jp'}
asins = []
@items.each do |item|
asins << item.asin
end
asins = asins.join(",")
res = Amazon::Ecs.item_lookup(asins, options)
本をおすすめするだけのWebサービス「Yomomo」を作りました

使い方
使い方はこちら。
なんで作ったのか
以前、お世話になっている方からおすすめの本を紹介していただき、Amazonのページを見たら中古で10円くらいだったのでその場で買うという経験がありました。
普段だったら絶対買わないような本でしたが、これが読んでみたらなかなか面白い。直接自分の役に立ちそうなことが書かれているわけではないのだけれども、「こういう考えもあるのか」という発見がいくつかありました。
読む本をいつも自分で決めていると、どうしても同じようなものに偏り、自分の価値観もそれに従うようになります。スティーブ・ジョブズの伝記ばかり読んでいるとクリエイティブで野心的でないといけないような気分になるし、アフロ田中ばかり読んでいると、身の回りで楽しくやれればいいやーという価値観になります(アフロ田中とは埼玉 - 東京あたりを舞台にした世界一おもしろい日常系マンガです)。
偏りがあってもいいじゃんといえばそれまでです。しかし、おすすめされて読んだ本には、自分が読もうとして手にとった本よりも新鮮味や発見があります。新鮮味のある本はそれを読むこと自体、とても楽しいものです。
価値観の偏りを減らし、新鮮な感覚を提供してくれる本。Yomomoを作ったのは、そのような本との出会いを誘発する場所をつくりたかったからです。
特徴
Yomomoにはこだわりが3つあります。
「誰」から「誰」へ
本の紹介は1人から1人に対して行うことになります。なぜかというと、このサービスで最も大事なのは本そのものやレコメンドコメントではなく、「誰」から「誰」へという関係の部分だからです。「あの人がすすめるなら読んでみよう」という気持ちが、普段読まない本を読むきっかけになるはずです。
本を管理しない
どんな本を読んだかということをしっかり記録する必要は無いと考えています。大事なのは本と出会うことです。
本を探さない
本は出会うものです。自分のページに行けば、推薦者の簡潔なコメントとともに新鮮な本がある。繰り返しになりますが、そういう体験を引き起こすのがこのサービスの目指すところです。
始め方

このサイトは基本的に、一人では楽しめないものです。友だちに「こういうサイトあるよ」と言って本を紹介しあってみると徐々に楽しくなってくるかもしれません。
派手な面白さは何もありませんが、ぜひぜひこの機会に本を通じたコミュニケーションを試してみてください。
やらしい話
後で叩かれるのも怖いのでここでお金の話もしておきます。サイト内のリンクを見ればわかりますが、Amazonアソシエイトを利用しています。Yomomo経由でAmazonに飛び商品を購入すると、紹介料が僕に入ってくるわけです。
個人で開発しているからといって、やはりサーバー代くらいは稼ぎたい。いや、本当は自分の人件費分くらいにならないと、趣味で終わってしまいます。趣味で終わってしまうと、だんだん「もういいか」という気持ちになっていくので、「勉強として」とか「趣味で」とかいう逃げはそろそろ使わない方向でいきたいのです。
もちろん、Googleアドセンスのような本と関係のないクリック広告などは一切入れないつもりです。
今後
ひたすら自分で使っては気持ち悪いところを直すという単純な方法で改善していきます。今のところまだまだ気持ち悪いところだらけなので、ごりごりと修正していきます。
外部APIを叩いてレスポンスをDOMに吐き出す際にAjaxを使ったり、モバイルでのデザインの最適化などは早急にやらないといけないですね。使い勝手を良くするためにページ遷移を減らすのはけっこう大事です。モバイルの理想はネイティブアプリを作ることですが、とりあえずはブラウザを通してもある程度快適に使ってもらえるレベルを目指します。
Yomomoというウェブサービスをこっそり公開しています
ブログに公開する時点でこっそりではないですね。おすすめ本を紹介しあうサイトです。アカウント登録は必要ありません。

ロゴ作ってない、モバイル用のデザインが悲惨、などなどありますのでちょっとずつ良くしていきます。詳しくはまた別記事で書くかも知れません。
おすすめの本がありましたらgaaamii宛に教えてくれると嬉しいです。最近小説読んでないので小説希望です。あと、これを作っていて改めてデザインセンスねーなっていうのに気づいたのでデザインに関する本とかも教えてくれると助かります。
(ちなみに、お世話になっている方には僕厳選のおすすめ本を送りつけときました。'yomomo.net/u/ツイッターID'にアクセスしてみてもらうと素晴らしい書籍に出会うかもしれません。)
Ruby on Railsでブログを作成するときに役立った情報まとめ
検索から来た人へ: ここに書かれている情報は古いので、最新の書籍やドキュメントを読むことを強くおすすめします。
(最終更新日:2013/12/19)
Ruby on RailsでちょっとしたCMSを作ろうとしていて、単純なブログ程度の機能はとりあえず作れました。ここらで使ったものやら何やらをまとめておきます。少しずつ書いていきます。
下書きにしておくとだるくなって書かなくなるので最初から公開しておきますが、一段落ついたらTwitter(@gaaamii)で通知します。はてブ付けてくれるとモチベが上がって更新が早くなるかもしれません。
書き終えました。
Ruby on Railsの導入
こちらでまとめました。2013/10/13時点での情報です。何かあれば修正しますのでお知らせください。
周辺ツール
Git,GitHub,Heroku(コード管理、デプロイ)
「ローカルで試しに作ってみる」という段階では絶対に必要なものではありませんが、いずれ必要になります。とりあえずは存在を知って、必要になった時にRailsTutorialの該当箇所を読むと良いと思います。
vim(テキストエディタ)
vimプラグインを管理するツール。まだあまり使いこなせてない。NeoBundleというツールの方が最近のものらしいというのを後から知りました。
vimでツリー表示するためのものです。これがないといちいちディレクトリをcdで移動しまくることになります。

便利なgem
テキストエリアのためのgem
- redcarpet
テキストエリアに入力されたものをそのまま出しちゃうのはもちろん(scriptタグとか埋め込まれたりして)セキュリティ的にやばいので、出力するときにはエスケープすることになります。
そのときに何かしら置換してあげないと見栄えが悪いです。かといってリッチエディタを用意するのは頭使いそうだし...
そんなお悩みを解決するのがマークダウンです。(qiitaのように)ユーザーとして想定する人が開発者なら、マークダウンさえ使えればオッケーなのではなのではないでしょうか。
タグ付けのためのgem
- acts-as-taggable-on
ブログなんかではたいてい必要になるのがこのタグ機能です。記事を書いて、それに[Ruby]とか[Rails]とか、タグを付ければ情報が整理できますよね。
ところが、これを自分で実装しようとしたら思いのほか難しい。そこで見つけたのがまさにタグ機能のためのgem、act-as-taggable-onです。以下のようなコマンドで簡単にマイグレーションファイルを作ってくれるって言うんだから便利なものです。
rails generate acts_as_taggable_on:migration
セキュリティ
CSRFとは
Wikipediaでどんなものか把握。Railsではmetaタグにこんな形でtokenを発行することによってCSRF対策を施してる。
<meta content="xxxxxxxxxxxxxx" name="csrf-token">
Strong Parameters
Rails 4からの新機能。コントローラ側で受け取るハッシュを制限するためのものです。具体的にどう危険なの?というのはRailsTutorialのこの部分を見るとわかります。
この脆弱生を突くことはMass Assignmentと呼ばれていて、Rails3でも対策はあったものの管理者次第では穴を作ってしまうケースがあり、何度か問題になっていたようです。
教材・参考資料
インターネット
まずはドットインストールですよね。
じっくりしっかり勉強するのに最適。企業の研修でも使われているほどのクオリティ。「ローカルで何か作る」という意味での手っ取り早さではドットインストールの方が良いかも。
便利なgemの使い方とかが動画チュートリアルで学べる。無料エピソードだけでもそこそこ役立つものが見つかる。
書籍
良書だと言われている通り、良書だった。ただ、書かれている内容はRails3向けなので、MassAssignment対策にはattr_accessibleを使いましょうみたいになっててRails4との違いはところどころに見られる。
検索してよくお世話になったサイトやブログ
感想
情報がたっくさん見つかるので、やっぱRailsを使うことにして良かったなと感じてます。
はじめてのRuby on Rails インストール(VagrantとCentOSとrbenvとRuby 2.0.0でRails 4.0の環境構築の手順)
まとめていきます。いっぺんに書く気力がないので少しずつ書いています。
書き終わりました。
ぶっちゃけドットインストールを見漁ればできるんですが、レッスンが分かれてたり自分が何してるかわからなくなりそうなところが少しあったので、そこをちょっと丁寧に書きたいです。時間が経つと手順を忘れてしまう自分のためでもあります。
環境はMac OS Xです。
Vagrantを用意する

Vagrantは仮想環境にOSをぶっこんだりぶっこわしたりっていうのを簡単にできるツールです。Vagrantを使うためにVirtualBoxという仮想環境のためのアプリケーションを用意します。
https://www.virtualbox.org/wiki/Downloadsからお使いのOSを選んでインストールします。

VirtualBoxが用意できたら、Vagrantをhttp://downloads.vagrantup.com/から最新のバージョン・お使いのOSを選んで入れましょう。

Vagrantを使って仮想マシンにCentOSを入れる
vagrant box add [boxの名前] [url]
という形でboxの名前とurlを指定して仮想マシンのひな形を取得します。
ここではCentOSを使いますので、下記の通り、http://www.vagrantbox.es/からbox名、urlをコピーして、下記の通りになります。CentOSはサーバによく使われるLinux系のOSです。
vagrant box add centos64box http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box
時間がけっこうかかります。
待っている間に読むおすすめマンガとして、「アフロ田中」という日常系のギャグマンガがあります。松田翔太さんと佐々木希さん主演で映画にもなりました。» 上京アフロ田中全10巻 完結セット (ビッグコミックス)
...
boxの追加が終わったら、作業するスペースを作って移動しましょう。てきとーな名前で大丈夫です。
mkdir myVM cd myVM
そこで、さっき入れたbox(テンプレート)でマシンを初期化します。
vagrant init centos64box
以下のようなメッセージが出ていれば成功です。
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
すると、現在の場所(myVM)にVagrantfileという設定ファイルが出来ているはずです。エディタでファイルを開くとこんな感じです。なんかいろいろ書かれてますが、「設定ファイルなんだな」というのが分かればオッケーです。

ここまで確認できたら、ついに仮想マシンを起動させます。
vagrant up
また時間がかかります。先ほどのアフロ田中を読み進めましょう。
...
終わると、マシンが実行された状態になっているのでターミナルから仮想環境に入ります。
vagrant ssh
「Welcome to your Vagrant-built virtual machine.」というメッセージが出て、ちゃんと入れるはずです。これでCentOSを利用できるようになりました。
CentOSにrbenvを入れる
rbenvというのは、Rubyのパッケージ管理ツールです。環境に複数のバージョンのRubyを入れとけるので便利らしいです。
gitを入れる
sudo yum -y install git
yumというのはツールをインストールするためのツールです。-yというオプションはyes/noで聞かれる全てにyesで答えてねという意味です。
rbenvを入れる
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
rbenvはGitHubに置かれているので、そこから取ってきます。
パス、環境変数の設定
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(rbenv init -)"' >> ~/.bash_profile exec $SHELL -l
ここらの意味はよくわかりません。誰かおしえてください。
Ruby 2.0.0を入れる
ようやくRubyを入れるステップまで来ました。ruby-buildを入れたので、これでいけます。
Ruby2.0.0のインストール
rbenv install -v 2.0.0-p247
(追記)インストールできるRubyのバージョンを確認するには、以下のコマンドを打ちます。たぶんlはlistのlですね。
rbenv install -l
時間がかかります。待ち時間に読むマンガですが、「王様達のヴァイキング」というハッカー少年マンガもおすすめです。» 王様達のヴァイキング (1) (ビッグコミックス)
インストールの反映
これやらないと反映されないらしいです。
rbenv rehash
インストールしたものを使うと宣言
複数入れておけるのがrbenvの良いところなので、「このバージョンを使うよ」というのは言わないといけません。
rbenv global 2.0.0-p247
Rails 4.0を入れる
gemをアップデートしとく
gem update --system
Rubyのライブラリはrubygemsのgemコマンドでインストールできます。最新のRailsをインストールしたいのであればこのシステムを最新にしておきましょう。
