Как я могу правильно требовать текстовый файл в рельсах? - PullRequest
1 голос
/ 01 апреля 2009

Кажется, у меня возникли проблемы с поиском подходящего пути к текстовому файлу Rails, который я хотел бы загрузить в память для обработки, для личного учебного проекта.

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

или

require "/lib/english.txt"

не работают.

Текстовый файл находится в каталоге lib.

Я пытаюсь загрузить его с простого контроллера. Я продолжаю получать ошибки:

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

Указанный выше путь - это место, где файл находится в соответствии с информацией моего компьютера (OSX). Что я делаю неправильно? Спасибо.

Ответы [ 2 ]

2 голосов
/ 02 апреля 2009

File.open("#{RAILS_ROOT}/lib/english.txt") должен это сделать.

require предназначен для включения кода Ruby, например, для включения модуля в класс.

2 голосов
/ 02 апреля 2009

Если файл содержит код Ruby, измените расширение на rb. Скорее всего, рельсы просто загрузят файл автоматически без необходимости. В худшем случае require 'english' или require 'lib/english' должно быть всем, что вам нужно.

Требуется для загрузки расширений кода Ruby, библиотек и чего-то еще.

Если english.txt не содержит корректный код Ruby, то require - это не то, что вы ищете, здесь нечего смотреть, двигайтесь дальше. Исследуйте множество чудес класса File.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...