Вопрос маршрутизации приложения для корневого URL в среде разработки / производства - PullRequest
1 голос
/ 18 февраля 2012

У меня проблема с приложением относительно маршрутизации. В производстве корневой URL-адрес example.com/xyz/

И многие images_paths установлены на ../xyz/assets/header.jpg

В процессе разработки я получаю ошибки маршрутизации, так как мой хост localhost:3000. Я пытаюсь достичь чего-то вроде localhost:3000/xyz, поэтому пути маршрутизации снова подходят. Производственные маршруты должны оставаться прежними.

Текущее сообщение об ошибке в среде разработки:

ActionController::RoutingError (No route matches [GET] "/xyz/assets/header.jpg"):

Не могу ли я использовать что-то подобное в моем application_controller?

Rails.application.routes.default_url_options[:host]= 'localhost:3000/xyz'

Спасибо за совет

1 Ответ

1 голос
/ 18 февраля 2012

Вы можете создать путь к файлу с помощью чего-то вроде

@header_image_file = File.join(RAILS_ROOT, 'xyz', 'assets', 'header.jpg')

На самом деле, RAILS_ROOT устарела с Rails 3, поэтому вы должны теперь использовать,

@header_image_file = File.join(Rails.root.to_s, 'xyz', 'assets', 'header.jpg')

Удачи!

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