2009-04-01 15 views
1

私は、個人的な学習プロジェクトのために、処理のためにメモリにロードしたいテキストファイルへの適切なパスを見つけることにRailsに問題があるようです。どのように正しく私はレールでテキストファイルを必要とすることができますか?

require "#{RAILS_ROOT}/lib/english.txt" 

または

require "/lib/english.txt" 

が動作していません。

テキストファイルはlibディレクトリにあります。

シンプルなコントローラからロードしようとしています。私はエラーを取得し続ける:ファイルが自分のコンピュータの情報(OSX)に応じて配置されている場所

MissingSourceFile in EntriesController#anagram 
no such file to load -- /Users/me/Sites/cvtest/lib/english.txt 

上記のパスが実際にあります。私は間違って何をしているのですか?ありがとうございました。

+0

テキストを読み込もうとしているのですか、ファイルの中からrubyを実行しようとしていますか? – erik

+0

私はテキストの中でルビーを読み込もうとしています。私はスタンドアローンのRubyアプリケーションとしてこれを実現することができましたが、今はすべてオンラインにしようとしています。ありがとうございます – supergalactic

答えて

2

ファイルにRubyコードが含まれている場合は、拡張子をrbに変更します。レールは自動的にファイルをロードするだけで、必要なくすことができます。最悪の場合require 'english'またはrequire 'lib/english'が必要です。

必要なのは、Rubyコード拡張、ライブラリ、what-have-youを読み込むためです。

english.txtに有効なRubyコードが含まれていない場合、requireはあなたが探しているものではなく、ここでは何も見当たりません。 Fileクラスの多くの驚異を調べてください。

+0

ありがとうございます。私はそれを見上げるでしょう。これは、ルビコードのない単語の.txtファイルです。私は遅くなり、注意を払うでしょう:) – supergalactic

2

File.open("#{RAILS_ROOT}/lib/english.txt")とする必要があります。

requireは、モジュールをクラスに含むなど、Rubyコードを含むためのものです。

+0

ありがとう。私は最初からRuby&Railsを学んでいますが、すぐに満足できるものを得なければなりませんでした。 – supergalactic