『RailsとiPhoneではじめるアプリケーション開発』を進める時の注意点・ハマったこと Chapter 06まで
前回のエントリーに続いて、『RailsとiPhoneではじめるアプリケーション開発
』を進めてみようと思います。
- 作者: 栗田由菜,丸山弘詩
- 出版社/メーカー: インプレスジャパン
- 発売日: 2013/08/21
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
『RailsとiPhoneではじめるアプリケーション開発』を進める時の注意点・ハマったこと Chapter 03まで - diceK66のブログ
重要事項
以下の2つは必ず読みながら進めましょう
+ Objective-C - RailsとiPhoneではじめるアプリケーション開発をiOS7向けに読み進めるときの注意・修正点 - Qiita
+ 詳細 -- 栗田 由菜「RailsとiPhoneではじめるアプリケーション開発」Impress - みんなで正誤表
エラーが起きたらコンソールをじっくり読みましょう
特に自分が作成or編集したファイルがログに出てきたら、必ず正しくソースが書けているか等をチェックしましょう
Chapter 04 特に何も起きずにクリア!
特に何も問題は起こらずにクリアできました!
何かうれしいw 既に飼いならされてるw
Chapter 05 とりあえず流し読み
プロトタイピングについての説明ですが、内容としてはよくある内容かと思いますので、さらっと読めばOKかと思います。
ちなみに『モックアップと呼ばれるソフトを利用して』とありますが、「モックアップ」という名前のモックアップソフトってあったっけ?
個人的には紙にUIデザインを書いて試すペーパープロトタイピングか、Cacoo https://cacoo.com/lang/ja/を使う事が多いでしょうか。
p.125〜126 Railsのバージョンに気をつけて!
p.126で何事もなかったように、
$ rails new travel photo --database=mysql
とプロジェクトを作ろうとしますが、実はさらっとp.125に『「gem install rails」でRailsをインストールします。』書いてあります。
ただ、そのまま「gem install rails」をすると新しいバージョンのRailsがインストールされてしまうため、以下のようにこの本の推奨バージョンでRailsをインストールした方がよいでしょう。
$ gem install rails --version=3.2.13
もしも最新バージョンをインストールしちゃった! という場合には、おそらくもう一つgemsetを作ってインストールし直して、今後はそのgemsetを使って進めるのが簡単だと思います。
$ rvm gemset create travelphoto2 $ rvm gemset use travelphoto2 $ gem install rails --version=3.2.13
$ rvm --create --versions.conf use ??
おそらくプロジェクトのディレクトリに入ったら自動的にgemsetが切り替わるようにしたいのだと思いますが、このコマンドを叩いてもうまくいかないと思います。
私の知っているやり方をご紹介します。
- プロジェクトのルートディレクトリに「.rvmrc」ファイルを作成
- ファイル内に以下のように記述
rvm 1.9.3-p194 rvm gemset use travelphoto
これで次回以降、このプロジェクトディレクトリに入ると、自動的にtravelphotoというgemsetが使われるようになります。
初回だけ、以下のように聞かれますが、yを入力してください。
******************************************************************************************************************** * NOTICE * ******************************************************************************************************************** * RVM has encountered a new or modified .rvmrc file in the current directory, this is a shell script and * * therefore may contain any shell commands. * * * * Examine the contents of this file carefully to be sure the contents are safe before trusting it! * * Do you wish to trust '/Users/eliass/rails/travelphoto/.rvmrc'? * * Choose v[iew] below to view the contents * ******************************************************************************************************************** y[es], n[o], v[iew], c[ancel]> y
p.129 rake db:setup がaborted
データベースを作成しようとすると、以下のようなログをはいて、abortedになりました。
rake aborted! Psych::SyntaxError: (<unknown>): could not find expected ':' while scanning a simple key at line 18 column 3 /Users/eliass/.rvm/gems/ruby-1.9.3-p545@travelphoto/gems/safe_yaml-0.9.7/lib/safe_yaml.rb:144:in `load_with_options' /Users/eliass/.rvm/gems/ruby-1.9.3-p545@travelphoto/gems/railties-3.2.13/lib/rails/application/configuration.rb:115:in `database_configuration' /Users/eliass/.rvm/gems/ruby-1.9.3-p545@travelphoto/gems/activerecord-3.2.13/lib/active_record/railties/databases.rake:25:in `block (2 levels) in <top (required)>' Tasks: TOP => db:setup => db:schema:load_if_ruby => db:create => db:load_config (See full trace by running task with --trace)
rails error, couldn't parse YAML - Stack Overflow
ここによると、とりあえず、以下の2行のコードをconfig/boot.rbに入れれば動くとの事。
私の場合は、boot.rbの「require 'rubygems'」の下に追記して解消しました。
(ちゃんと直すにはどうすればよいかもリンク先にはありますので、興味がある方はご参照ください)
//config.rb require 'rubygems' require 'yaml' YAML::ENGINE.yamler = 'syck'
p.137 :token_authenticatableが無い!
Devise 3.1: Now with more secure defaults | Plataformatec Blog
この記事によると:token_authenticatableは削除されたとの事。
なので、現時点ではこの設定はできないと思います。
後々使う事になったら、対処方法を考える事にしますが、一旦:token_authenticatableについては無視する事にします。
所感
この先は特に大きなトラブル無く進める事ができました。
(とは言え、詳細 -- 栗田 由菜「RailsとiPhoneではじめるアプリケーション開発」Impress - みんなで正誤表にはお世話になりっぱなしでしたが・・・)
この本ちゃんと最後まで進められた人っているんだろうか・・・。