LoginSignup
3
1

More than 5 years have passed since last update.

『小学生でもわかるRuby on Rails入門』で初学者が躓いたことメモ〜後編〜

Last updated at Posted at 2017-07-02

こちらの記事について

超初学者が、『小学生でもわかるRuby on Rails入門』
を使用して、初めてRuby on Railsを動かしてみたときに、躓いたり調べたりしたことの備忘録です。OSはmac OSX Yosemite、Rubyのバージョンは2.2.2です。

→前編はこちら

users_controller.rb の書き換えミス…

『第7章 ルーティングからコントローラーへ』
app/controllers/users_controller.rb を書き換えるとこんなエラーが出ました。

エラー内容
500 Internal Server Error
If you are the administrator of this website, then please read this web application's log file and/or the web server's log file to find out what went wrong.

単純な記述漏れでした…。defshowのendのさらに下に、元々ファイルに書いてあったclass UsersController < ApplicationControllerのendが必要でした。
これで正常に動作しました。

users_controller.rb
class UsersController < ApplicationController
  def index
  end

  def show
    @user = Hash.new
    if params[:username] == 'ryooopan'
      @user[:name] = 'Ryo Suzuki'
      @user[:username] = 'ryooopan'
      @user[:location] = 'Kanagawa, Japan'
      @user[:about] = 'Hello, I am Ryo.'
    elsif params[:username] == 'moyahima'
      @user[:name] = 'Shohei Aoki'
      @user[:username] = 'moyahima'
      @user[:location] = 'Tottori, Japan'
      @user[:about] = 'Nice to meet you.'
    end
  end

end

rakeのエラー

『第11章 作ってわかるデータベース』でデータベースを生成しようとしたらrakeのエラーが発生しました。

コマンド
rake db:create
エラー内容
rake aborted!
Gem::LoadError: You have already activated rake 10.4.2, but your Gemfile requires rake 12.0.0. Since rake is a default gem, you can either remove your dependency on it or try updating to a newer version of bundler that supports rake as a default gem.

rakeのバージョンが異なるようなので指示通り12.0.0.にする。

ターミナル
gem install rake -v 12.0.0

ちゃんと指定のバージョンになっているか確認する。

ターミナル
rake --version

参照記事↓
Cannot Install Older Version of Rake Gem in Rails

最後に…

第12章以降はスムーズに進めることができました。躓いたのは主にバージョンの相違と記述ミスと考え方の部分なので、慣れている方には当然かもしれませんが、まずはRubyのバージョンと使用するGemのバージョンを確認することを忘れずに。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1