1

私はherokuにsinatra ruby​​アプリを持っています。コンソールからデータベースにアクセスしようとしています。 を実行するheroku run consoleと、次のエラーが表示されます。

Running console attached to terminal... up, run.10
    /app/vendor/ruby-1.9.2/lib/ruby/1.9.1/irb/init.rb:281:in `require':LoadError: no such file to load -- ./console.

次のコマンドを使用してレコードにアクセスしようとすると、次のエラーが発生します。

irb(main):001:0> Setting.first
NameError: uninitialized constant Object::Setting
    from (irb):1
    from bin/irb:12:in `<main>'

誰が何をする必要があるかについて私を助けることができますか?ファイルが不足していますか、それともherokuのテーブルにアクセスする別の方法はありますか?

4

1 に答える 1

3

これheroku consoleは Rails アプリの古いハックですが、他の場所では機能しません。出力からわかるように、 というファイルを読み込もうとしています./console。したがって、consoleプロジェクト ルートにファイルを作成し、データベースに接続した後、そこから IRB を呼び出します。例えば:

#!/usr/bin/env ruby                                                                                                

require 'irb'                                                                                                      
require 'irb/completion'                                                                                           

require 'rubygems'                                                                                                 
require 'bundler/setup'                                                                                            

# require something that connects to your database
# or just connect here using ENV['DATABASE_URL']
require 'your_project_setup'

IRB.start
于 2012-09-12T15:46:13.377 に答える