требующие файлы активов из подкаталогов пути ресурса - PullRequest
5 голосов
/ 22 августа 2011

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

Мой текущий(то есть до-3.1) структура каталогов имеет что-то вроде:

public/
    foo/
        model.js
        controller.js
        etc...

Итак, я пытаюсь переместить их в lib / assets / javascripts и сохранить подкаталог foo / нетронутым (а не делать foo_model.js, foo_controller.js и т. д.).

В моем application.js я пытался сделать:

//= require foo/model

и

//= require 'foo/model'

Но это не такРабота.Rails всегда выдает мне страницу с ошибкой и говорит:

couldn't find file 'foo/model.js'

Я проверял, правильно ли все включено, если их нет в подкаталоге, поэтому я знаю, что мой каталог lib / assets не простов пути включения или что-то.Так что я думаю, мне просто интересно, есть ли способ сделать это, или я должен просто сгладить каталоги и использовать foo_model.js и тому подобное?

Ответы [ 2 ]

6 голосов
/ 22 августа 2011

Похоже, что rails только добавляют один уровень подкаталогов к путям ресурсов

Вы можете проверить текущие пути, запустив Rails.application.config.assets.paths на консоли rails

, добавив абсолютный путь к вашим папкам в приложении.рб как

config.assets.paths += ["/path/to/lib/assets/javascript/foo"]
1 голос
/ 10 октября 2011

Не уверен, почему rails добавляет только один уровень подкаталогов, но вы наверняка можете добавить дополнительные (полностью определенные) пути к конвейеру в config / application.rbДокументы приводят к ответу: http://guides.rubyonrails.org/asset_pipeline.html#asset-organization

Например:

config.assets.paths << "#{Rails.root}/app/assets/flash"

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