Rails stylesheet_link_tag ссылается не на то место - PullRequest
2 голосов
/ 19 февраля 2010

Заранее спасибо за помощь.

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

В моем файле макета application.html.erb есть строка:

<%= stylesheet_link_tag 'application', 'formtastic', 'formtastic_changes', :cache => "base" %>

Который, я думал, должен был сделать всю работу. Но когда я загружаю страницу, таблица стилей вообще не загружается. Немного покопавшись, я нашел проблему, но даже не представляю, как ее исправить!

Вместо загрузки таблицы стилей из localhost:3000/stylesheets/application.css

мой браузер пытается загрузить с localhost:3000/myApp/stylesheets/application.css

и не может найти лист там (поскольку его там нет ...)

Итак, есть идеи, как я могу это исправить? И, в более общем смысле, почему некоторые пути выглядят как localhost:3000/myApp/page, а другие - localhost:3000/page

Еще раз спасибо!

Ответы [ 2 ]

1 голос
/ 19 февраля 2010

Похоже, проблема с вашей относительной корневой переменной URL. Проверьте свое приложение и посмотрите, настраиваете ли вы ActionController::Base.relative_url_root или ENV['RAILS_RELATIVE_URL_ROOT'].

0 голосов
/ 19 февраля 2010
  1. Поиск в каталоге конфигурации вашего приложения упоминания о «myApp». Там есть что-то, что переопределяет маршрут по умолчанию или поведение asset_dir.
  2. попробуйте удалить :cache => "base" в качестве аргумента. Это объединяет и кэширует таблицы стилей вместе (в производственном режиме) и может создавать помехи.

В общем, убедитесь, что вы всегда используете вспомогательные функции для генерации ссылок и URL для ваших представлений. (link_to, url_for, form_for, link_to_remote и т. д.) Это должно сделать URL-адреса согласованными во всем приложении.

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