2016-05-06 9 views
0

私はPythonの背景から来て、Ruby on Railsを学んでいます。Railsアプリケーション環境をJupyterノートブックにロードした後のモデル定数が未定義

私はJupyterノートブックを使ってRailsオブジェクトを学習の練習として使いたいと思っていました。 (私はRails Getting Started Guideに従っています)

スクリプト用のRailsアプリケーション環境をロードする方法に関するいくつかのブログ記事を読んだ後、私はJupyterノートブックのセルの中にモデルインスタンスを作成することができました。

しかし、そうするためには、記事の新しいインスタンスを作成するためにRails.autoload "Article"に電話しなければなりませんでした。

これは、Ruby 2.3カーネルを備えたJupyterノートブックの内部で実行されるコードです。 Railsのバージョンは、私は私のJupyterノートに関連Railsのオブジェクトを操作することができることに近い午前のように思え4.2.6

ENV['RAILS_ENV'] = 'development' 

require ::File.expand_path('../config/boot', __FILE__) 

require ::File.expand_path('../config/environment', __FILE__) 

Rails.autoload "Article" # if I omit this line, Article is an undefined constant 

article = Article.new(text: "test") 
article.save 

です。

私の質問は:記事やその他のモデルのためにRails.autoload "Article"に電話する必要がないので、何が欠けていますか?

ありがとうございます。

答えて

0

解決策が見つかったhere

pwdをアプリケーションのディレクトリに変更することは、不足しているようです。

FileUtils.cd('/home/ubuntu/projects/ruby-docker-heroku/blog') 

require './config/boot' 

require './config/environment' 

Article # no more undefined constant error 
関連する問題