Migrating my app to Rails 3 is everything but trivial. But most of the
time it is not due to API changes...
First, it was difficult to get my tests to run (not pass, run). The most
difficult part was Webrat and I ended up changing the suite to Capybara,
but today David Chelimsky pointed me that I should configure Webrat to
:rack instead of :rails, but I''m not sure if I''m going back to
Webrat
again...
Then, my tests aren''t passing because of a probably bug in Rails:
https://rails.lighthouseapp.com/projects/8994/tickets/4858-actionmailer-is-html-escaping-ampersand-in-urls-in-plain-text-messages
While the bug is not fixed, I''m trying to get the rest failing tests to
pass...
Then, I got a really strange issue, that I''m still trying to
understand.
If I open a rails console in test environment only, I get I18n.locale ==
:en and I18n.default_locale == :''pt-BR'', while in development
mode
I18n.locale == :''pt-BR'' as expected...
I have no idea how to debug this, so I created a fresh new app and
starting replicating my app in the new application. This behavior
didn''t
ocurred in the fresh app, but as I copied app, libs, Gemfile and
initializers to the new app the issue is happening again.
Then I tried to remove all plugins and run the console, expecting for
errors, of course. But I thought I would get some meaningful backtrace
so that I could know where the plugins are being needed and comment the
respective code. But instead, I got:
r c test (alias r=rails)
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:277:in
`rescue in depend_on'': No such file to load -- prawn (LoadError)
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:272:in
`depend_on''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:189:in
`require_dependency''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/engine.rb:138:in
`block (2 levels) in eager_load!''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/engine.rb:137:in
`each''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/engine.rb:137:in
`block in eager_load!''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/engine.rb:135:in
`each''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/engine.rb:135:in
`eager_load!''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/application.rb:99:in
`eager_load!''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/application/finisher.rb:41:in
`block in <module:Finisher>''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/initializable.rb:25:in
`instance_exec''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/initializable.rb:25:in
`run''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/initializable.rb:55:in
`block in run_initializers''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/initializable.rb:54:in
`each''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/initializable.rb:54:in
`run_initializers''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/application.rb:119:in
`initialize!''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/application.rb:81:in
`method_missing''
from /home/rodrigo/temp/rails3/teste/config/environment.rb:5:in
`<top (required)>''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in
`require''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in
`block in require''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:198:in
`block in load_dependency''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:554:in
`new_constants_in''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:198:in
`load_dependency''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in
`require''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/application.rb:94:in
`require_environment!''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/application.rb:81:in
`method_missing''
from
/home/rodrigo/.rvm/gems/ruby-head@rails3/gems/railties-3.0.0.beta4/lib/rails/commands.rb:22:in
`<top (required)>''
from script/rails:6:in `require''
from script/rails:6:in `<main>''
The backtraces used to be much better in Rails 2... How can I know who
is missing Prawn? Another thing that is bothering me is that the console
is much slower to start than in Rails 2... Does someone else feels the same?
Don''t get me wrong. Rails 3 have several goodies, and ActiveModel was
something I was particularly interested in the new ActiveRecord API
(since it resembles the excelent Sequel gem) and ActiveModel (I was
forced to use the now dead PassiveRecord alongside with Validatable gem
because I couldn''t find a port of ActiveModel to Rails2 - now I am
finally able to use ActiveModel with Serialization and Validations
modules). I think there are several wins in Rails 3, but it is being
really hard to port my simple app to Rails 3 and the problem is not the
API changes, which I could get rid of the deprecation warnings in a few
hours...
What I would like to understand is why other parts of Rails seems to
have got worse, like console starting time and meaningless backtraces...
Does anyone can help me with ideas of how to debug the strange I18n
issue and how to get a meaningful backtrace?
Thanks in advance and good work guys,
Rodrigo.
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Core" group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to
rubyonrails-core+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/rubyonrails-core?hl=en.