рельсы пути активов
У меня в
<link href="/assets/application.css" media="screen" rel="stylesheet" type="text/css" />
<script src="/assets/application.js" type="text/javascript"></script>
Но когда я иду в http://localhost:3000/assets/application.css
Routing Error
No route matches [GET] "/assets/application.css"
P.S. рельсы 3.1.0.rc4, ruby 1.8.7
5 ответов:
Похоже, что звездочки / рельсы 3.1 действовали на меня с помощью ruby 1.9.2-p180 ... обновление до Ruby-1.9.2-p290, казалось, остановило проблему.
Возможно, это не связано с вашей проблемой... но полезно для всех, кто имеет эту проблему, используя эти версии Rails & Ruby.
Я обнаружил, что у меня было нечто подобное после обновления до Rails 3.1 этим вечером. Я работал над проектом, который не использовал ActiveRecord, поэтому я изменил свой
application.rb
, чтобы исключить его. Строка, которая обычно читаетсяrequire 'rails/all'
, чтобы включить только те части, которые мне нужны, например:require "action_controller/railtie" require "action_mailer/railtie" require "active_resource/railtie" require "rails/test_unit/railtie"
Этот список был изменен в Rails 3.1, чтобы включить звездочки, основной компонент для обеспечения работы конвейера активов. Я получил конвейер активов, обслуживающий содержимое сервировки, Как и ожидалось, добавив эту строку в внизу списка:
require "sprockets/railtie"
После перезапуска,
/assets/application.js
и другие активы начали работать, как ожидалось.Примечание: Если у вас есть такая пользовательская настройка, обязательно откройте драгоценный камень
railties
и посмотрите на содержимоеlib/rails/all.rb
, которое могло измениться (как в этом случае).
Ваши сценарии и стили будут загружены из общей папки. Поместите папку assets в раздел public, и вы должны быть готовы к работе.