0

移行を実行しようとすると、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
4

2 に答える 2

1

わかりました、私は解決策を設立しました。Rails 2では、他の方法で移行を生成する必要があります。

$ script/generate migration AddBalanceToUsers balance:float

スクリプト/生成が重要です。

それが誰かを助けることを願っています。

于 2012-07-06T12:03:38.250 に答える
1

以下の手順に従ってこの問題を解決しました:-

(1)まず「gemenvironment」を実行して確認しました

(2)次に、次の方法で実行可能なrailsを
見つけました:-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

そして、railsコマンドを実行すると、新しいサンプルアプリが完全に作成されました:-)

于 2012-07-06T12:21:16.557 に答える