2012-07-06 234 views
0

當我嘗試運行遷移時,My Rails應用突然停止工作。例如:Rails - 遷移突然不起作用

$ rails generate migration AddBalanceToUsers balance:float 
/Users/serg/.rvm/gems/ree-1.8.7-head/gems/rails-2.3.5/bin/../lib/rails_generator/options.rb:32:in `default_options': undefined method `write_inheritable_attribute' for Rails::Generator::Base:Class (NoMethodError) 
    from /Users/serg/.rvm/gems/ree-1.8.7-head/gems/rails-2.3.5/bin/../lib/rails_generator/base.rb:90 
    from /Users/serg/.rvm/rubies/ree-1.8.7-head/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `gem_original_require' 
    from /Users/serg/.rvm/rubies/ree-1.8.7-head/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `require' 
    from /Users/serg/.rvm/gems/ree-1.8.7-head/gems/rails-2.3.5/bin/../lib/rails_generator.rb:34 
    from /Users/serg/.rvm/rubies/ree-1.8.7-head/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `gem_original_require' 
    from /Users/serg/.rvm/rubies/ree-1.8.7-head/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `require' 
    from /Users/serg/.rvm/gems/ree-1.8.7-head/gems/rails-2.3.5/bin/rails:14 
    from /Users/serg/.rvm/gems/ree-1.8.7-head/bin/rails:19:in `load' 
    from /Users/serg/.rvm/gems/ree-1.8.7-head/bin/rails:19 

我用

ree 1.8.7 
rails 2.3.5 (but i also have rails 3.2.3) 
RVM 
OS X Lion 
+1

檢查類似的問題: - http://stackoverflow.com/questions/5849332/rails-is破壞後升級到ubuntu-11-04 – 2012-07-06 11:16:49

+0

@Shamithc我試過:'gem uninstall rails',然後'gem install rails -v = 2.3.5'但我仍然有這樣的問題 – ExiRe 2012-07-06 11:35:12

+0

你可以更新軌道到2.3.8並測試。 – 2012-07-06 12:06:37

回答

1

好吧,我創辦的解決方案。在梁2我們應該通過其他方式產生的遷移:

$ script/generate migration AddBalanceToUsers balance:float 

腳本/生成是關鍵。

希望它能幫助別人。

1

我按照以下步驟解決這個問題: -

(1)首先我檢查通過運行 '寶石環境'

(2)然後,我所在的可執行導軌: -
ABC @ ubuntu:〜$ locate rails | grep -e「bin/rails $」 /home/abc/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.1/bin/rails /usr/lib/ruby​​/vendor_ruby/railties/bin/rails

(3)我附加了〜/ .bashrc的路徑: -
abc @ ubuntu:〜$ echo'export PATH = $ PATH:/home/abc/.rvm/gems/ruby-1.9.3-0/gems/railties-.2.1/bin'>>〜/ .bashrc

(4)重新加載〜/ .bashrc文件: -
abc @ ubuntu:〜$。在〜/ .bashrc

,然後當我跑到鐵軌命令,它創造了一個新的示例應用程序完美:-)