2014-11-29 2 views
0

пытаюсь отобразить html-файл, который отсутствует в проекте rails, но используйте рельсы для маршрута.Render html-файл за пределами рельсов

Я пытаюсь настроить путь, подобный этому, но он попытается связать файл с общей папкой.

get '/pathtofile', :to => redirect("/path/to/the/other/file.html") 

Я также попытался отобразить другой файл в контроллере, как это, но не повезло.

render "/path/to/the/other/file.html" 

Есть ли способ, которым я могу это сделать?

ответ

0

Вы можете настроить путь, который Rails использует для поиска для просмотра шаблонов несколько способов, в том числе:

# example one 
class ProjectsController < ApplicationController 
    prepend_view_path 'app/views/mycustomfolder' 

# example two 
class ProjectsController < ApplicationController 
    def self.controller_path 
    "mycustomfolder" 
    end 

Вы могли бы теоретически использовать это, чтобы выйти из приложения полностью, что это то, что вы просите, чтобы do:

class ProjectsController < ApplicationController 
    prepend_view_path 'app/../..' # you are now in the parent folder of the app itself 

Но я думаю, что это будет хрупкое решение. Например, когда вы размещаете приложение, связанный с ним файл не будет работать с ним, и ваша ссылка будет ломаться. Приложение определяется его корневой папкой, и лучше всего использовать все, на что вы ссылаетесь в приложении, либо находиться в дереве папок вашего приложения, либо быть доступным через URI.

Смежные вопросы