Ruby on Railsを始める人向けの書籍は、
何冊か出版されていますが、
私がオススメするのは、いまだに、これです。

「基礎Ruby on Rails」
価格:¥3,465(税込)
出版社: インプレスジャパン著者のWebサイトでも、バージョンアップされたRuby on Railsにおいて、
本の内容が追記されていますので、
http://www.oiax.jp/rails/asagao_2.htmlバージョンアップ(移行ですね、いわゆる)を考えている人にも
役立ちます。
通常、なかなか、そこまでやってくれる本もありません。
(というか、無い、かな)
というわけで、なかなかお買い得でもあります。
では、自分の環境もそろそろバージョンアップしておきます。
C:\
rails\asagao>
rails -vRails 2.3.2
-- environment.rb
RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
C:\rails\asagao>
rake db:initialize(in C:/rails/asagao)
asagao_development already exists
mysql --user root --host localhost --execute="drop database if exists asagao_development"
mysql --user root --host localhost --execute="create database asagao_development default character set utf8"
mysql --user root --host localhost --execute="drop database if exists asagao_test"
mysql --user root --host localhost --execute="create database asagao_test default character set utf8"
Your config/boot.rb is outdated: Run "rake rails:update".
最後に、上記のエラーが出ました。
メッセージ通りに、実行します。
rake rails:updateC:\rails\asagao>
rake rails:update(in C:/rails/asagao)
install -c -m 0755 c:/ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/tasks/../../bi
n/dbconsole script/dbconsole
C:/rails/asagao/app/controllers/application.rb has been renamed to C:/rails/asag
ao/app/controllers/application_controller.rb, update your SCM as necessary
必要ならば、SCMアップデートしろと、ありますが、
後でもできるので、一旦保留。
この辺りは、Railsの
バージョンが下記URLより上なので、
改善されてスムースですね。
http://www.oiax.jp/rails/asagao_2/rake_rails_update.html試しに、もう1度 rake db:initialize してみると・・・・
C:\rails\asagao>
rake db:initialize(in C:/rails/asagao)
Rails requires RubyGems >= 1.3.1 (you have 0.9.2). Please `gem update --system`
and try again.
RubyGemsも古いようで、アップデートするように言われてます。
言われるがままに、アップデートします。
特に問題なく、終了。
いろいろ、参考メッセージも出るんですが
(古いGemを使うには・・とか)、
私の場合は、関係ないので、次へ。
一応 gem env だけ確認しておきます。
C:\rails\asagao>
gem envRubyGems Environment:
- RUBYGEMS VERSION: 1.3.3
-
RUBY VERSION: 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
- INSTALLATION DIRECTORY: c:/ruby/lib/ruby/gems/1.8
- RUBY EXECUTABLE: c:/ruby/bin/ruby.exe
- EXECUTABLE DIRECTORY: c:/ruby/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-mswin32-60
- GEM PATHS:
- c:/ruby/lib/ruby/gems/1.8
- C:/Documents and Settings/Owner/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
-
http://gems.rubyforge.org/再び、
rake db:initialize します。
(途中省略)
*******************************************************************
* config.breakpoint_
server has been deprecated and has no effect. *
*******************************************************************
rake aborted!
undefined method `cache_template_extensions=' for ActionView::
Base:Class
(See full trace by running task with --trace)
ムム・・・・・。
deprecateとは、「…を非難する;〈計画・目的などに〉反対を唱える、けなす, 軽視する」です。
↓
削除せず、コメントアウトしておきます。
C:\rails\asagao\config\environments\development.rb より
########## 削除したことにする。 config.breakpoint_server = true
しかし、
C:\rails\asagao>rake db:initialize すると、下記表示されますね。
rake aborted!
undefined method `cache_template_extensions=' for ActionView::Base:Class
どうも、「はてなブックマーク」などでは、かなり事例があり、development.rb を
再度開いて、もう1行、削除するみたい。
http://blog.digital-squad.net/article/111784854.htmlC:\rails\asagao\config\environments\development.rb より
#### 削除したことにする config.action_view.cache_template_extensions = false
またまた、C:\rails\asagao>rake db:initialize する。
(途中省略)
rake aborted!
A key is required to write a
cookie containing the
session data. Use config.action_controller.session = { :key => "_myapp_session", :secret => "some secret phrase" } in config/environment.rb
(See full trace by running task with --trace)
33行目にこういう記述があるので、この下に記述を追記した。
# config.action_controller.session_store = :
active_record_store
config.action_controller.session = { :key => "_asagao_session", :secret => "d037a8c060089047375b82d9df5e732e"}
※正確には、下記の行間に記述する、必要があるのですが、
上記の行に記述すれば、必然的に、該当します。
(14行目)Rails::Initializer.run do |config|
ここ
(52行目)end
また、C:\rails\asagao>rake db:initialize
rake aborted!
a YAML error occurred parsing db/fixtures/development/members.yml. Please note t
hat YAML must be consistently indented using spaces. Tabs are not allowed. Pleas
e have a look at
http://www.yaml.org/faq.htmlThe exact error was:
NameError: uninitialized constant Member::Digest
あーーー、もう昼休み中に終わらなかった。。
おいおい。いつ終わるんや。
まあ、こういう移行作業的なものって、
すんなりいくわけないんだけどな・・・・。もう、最初から、最新環境を整えて、
それからやった方がいいな。
できないところをあぶり出せるし。