1

以前の開発者から譲り受けたRORアプリのローカル開発環境をセットアップしようとしています。ROR と Ruby は初めてです。

最初bundle installは問題なく実行され、次にmongod. rails sサーバーを実行すると起動しますが、出力されますhost is not a valid option for Mongo::Connection

に移動しようとするとhttp://0.0.0.0:3000、エラー メッセージが表示されます。 NoMethodError in Home#index

エラーは次のパスを指しています。

12 行目が発生した /Users/ryansnyder/Rails/myAppX/app/views/home/index.html.haml を表示:

undefined method 'url' for nil:NilClass

抽出されたソース (12 行目あたり):

9:     %h2 Asset Protection
10:     = link_to image_tag('asset-protection-guide.png'), 'http://myAppX.s3.amazonaws.com/assets/downloads/myAppX-AssetProtectionGuide.pdf', :title => 'Asset Protection Guide', :alt => 'Download our Asset Protection Guide', :target => '_blank'
11:   %section#graphs
12:     = link_to image_tag(@chart.url, :alt => @chart.alt), eval(@chart.link), :title => @chart.title
13: 
14: %section#recent-happenings
15:   %section#upcoming-events

.haml ファイルのその行をコメントアウトし、更新http://0.0.0.0:3000して別のundefined method 'question' for nil:NilClassエラーを受け取りました。これは、データベースまたはエラー処理の問題であると思います。しかし、私は推測しているだけです。

編集:これが役立つかどうかはわかりませんが、実行rake testすると次の出力が表示されます。

host is not a valid option for Mongo::Connection
/Users/ryansnyder/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.19/lib/active_support/dependencies.rb:242:in `require': no such file to load -- turn (LoadError)
    from /Users/ryansnyder/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.19/lib/active_support/dependencies.rb:242:in `block in require'
    from /Users/ryansnyder/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.19/lib/active_support/dependencies.rb:227:in `load_dependency'
    from /Users/ryansnyder/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.19/lib/active_support/dependencies.rb:242:in `require'
    from /Users/ryansnyder/Rails/alerstallings-master/test/test_helper.rb:4:in `<top (required)>'
    from /Users/ryansnyder/Rails/alerstallings-master/test/functional/lawyers_controller_test.rb:1:in `require'
    from /Users/ryansnyder/Rails/alerstallings-master/test/functional/lawyers_controller_test.rb:1:in `<top (required)>'
    from /Users/ryansnyder/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-10.0.3/lib/rake/rake_test_loader.rb:10:in `require'
    from /Users/ryansnyder/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-10.0.3/lib/rake/rake_test_loader.rb:10:in `block (2 levels) in <main>'
    from /Users/ryansnyder/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-10.0.3/lib/rake/rake_test_loader.rb:9:in `each'
    from /Users/ryansnyder/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-10.0.3/lib/rake/rake_test_loader.rb:9:in `block in <main>'
    from /Users/ryansnyder/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-10.0.3/lib/rake/rake_test_loader.rb:4:in `select'
    from /Users/ryansnyder/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-10.0.3/lib/rake/rake_test_loader.rb:4:in `<main>'
Errors running test:functionals!

編集 2: mondoid.yml

defaults: &defaults
  host: localhost
  # slaves:
  #   - host: slave1.local
  #     port: 27018
  #   - host: slave2.local
  #     port: 27019

development:
  <<: *defaults
  database: alerstallings_development

test:
  <<: *defaults
  database: alerstallings_test

staging:
  uri: <%= ENV['MONGOHQ_URL'] %>

# set these environment variables on your prod server
production:
  uri: <%= ENV['MONGOHQ_URL'] %>

どんな助けでも大歓迎です。

4

1 に答える 1

0

取得するオブジェクトがnilでないことを確認する必要があります。エラー処理を追加し、データベースが適切なオブジェクトを返していることを確認する必要があります。簡単な修正は、条件付きでコードを実行することです。

unless @chart.nil?
  # Your previous code here
end
于 2013-02-25T20:20:52.883 に答える