Ruby on Rails チュートリアルで学習中 2章でハマっている
2章でハマっているので記録として書いておく。
1章まで順調に進んでいたが、2章にきて、エラーでまくり。 チュートリアルに書かれている事をそのままやっていても、進まない状況。
まず、サーバーが起動しない。というところでハマった。
Rails s
をすると、
vagrant@precise64:~/first_app$ rails server
=> Booting WEBrick
=> Rails 4.0.5 application starting in development on http://0.0.0.0:3000
=> Run rails server -h
for more startup options
=> Ctrl-C to shutdown server
Exiting
でエラー
Booting WEBrickで検索し、対処法を確認した所、あまり良い発見はできず! で、Ctrl-C to shutdown serverで検索
gem - Error launching Rails server: undefined method 'configure' - Stack Overflow
この記事を見つけて対応するが、今度はServerが動いたが、Rooting Errorがでてしまい、http://localhost:3000/usersのページが現れない。 そこで、routes.rbをviエディタ使ってみてみると、
書かれてなければいけないはずの
resources : users
が書かれていない。 おそらく、scaffoldがうまくできなかったのだと思い。
$ rails generate scaffold User name:string email:string
を実行し、
$ bundle exec rake db:migrate
DBをマイグレートし、ようやくhttp://localhost:3000/usersのページが見られるようになり、次に進める! と思ったら今度は、usersページでnew userページで name と Emailに適当な名前入れて、Create userボタンを押したら、 ArgumentError in UsersController#createというエラーが、、、
一難去ってまた一難。やれやれだぜ。という気分。←イマココ
はい、また調べて解決できたら記載します。
はい、調べましたので、追記。というか、実はよくわからず。 で、とにかく、すこし先を読み進めてみると、これあんまり重要な所じゃないから、 このまま放置して先に進めた方が良いかも。という感じにはなった。
現状は原因把握できるほど、まだ学習できてないのだからここで止まっても、おそらくわからん! ただ動かないのも気持ち悪いので、とりあえず動けばいいや。と思い、GitHubにある実績のあるコードを拝借する事に。
demo_appで一番、最近更新されているものを拝借して、フォルダに入れ、GemfileのRubyのバージョンのみを 自分のインストールしているバージョンに合わせて、bundle updateして、利用。
最初、Gemfileのgemのバージョンがあってないのかと思い、Gemfileのみ更新してみたのですが、rails sで サーバー起動したら インターナルエラー出たので、原因探すよりやり直した方が早いと思い。ばっさり。
ちなみに、同じくここでハマった人で、原因わかる!って方いましたら、是非教えてください。m( )m
Ruby on Rails チュートリアルはコンテンツとしては、非常によくできた学習シナリオだと思うのだが、 2章を勉強しているレベルの初学者なんか、ここに2日間もハマってしまったら、挫折しちゃいそうだなぁ。
と思ったり。自分の場合は、これで新サービス作るという強いモチベーションあるから続いている(ようするに 明確な目的、それもアウトプットするための)があれば良いのだが、そうでない人はここで挫折しちゃうかもしれない。
なんでそんな事考えているかというと、EdTech系のサービスを作ろうとしているので、自分の学習体験の振り返りは 追求していかないとサービス作れないから。まぁ、学習にもなるし一石二鳥ですね。
さ、これで心起きなく次に進めるぞっと。