Tôi đang cố gắng đưa ứng dụng của mình vào sản xuất và đường dẫn nội dung hình ảnh và css không hoạt động.
Đây là những gì tôi hiện đang làm:
- Nội dung hình ảnh có trong /app/assets/images/image.jpg
- Biểu định kiểu có trong /app/assets/stylesheets/style.css
- Trong bố cục của tôi, tôi tham chiếu tệp css như sau:
<%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %>
- Trước khi khởi động lại unicorn, tôi chạy
RAILS_ENV=production bundle exec rake assets:precompile
và nó thành công và tôi thấy các tệp dấu vân tay trongpublic/assets
thư mục.
Khi tôi duyệt đến trang web của mình, tôi gặp lỗi 404 not found for mysite.com/stylesheets/styles.css
.
Tôi đang làm gì sai?
Cập nhật: Trong bố cục của tôi, nó trông như thế này:
<%= stylesheet_link_tag "bootstrap.min", media: "all", "data-turbolinks-track" => true %>
<%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
Nguồn tạo là sau:
<link data-turbolinks-track="true" href="/stylesheets/bootstrap.min.css" media="all" rel="stylesheet" />
<link data-turbolinks-track="true" href="/stylesheets/styles.css" media="all" rel="stylesheet" />
<script data-turbolinks-track="true" src="/assets/application-0c647c942c6eff10ad92f1f2b0c64efe.js"></script>
Có vẻ như Rails đang tìm kiếm các tệp css đã biên dịch không đúng cách. Nhưng thật khó hiểu tại sao nó lại hoạt động chính xác cho javascrip (hãy để ý /assets/****.js
đường dẫn).
<%= stylesheet_link_tag "style", media: "all", "data-turbolinks-track" => true %>
public/assets
và 2. kiểm tra kỹ nếu không có hướng dẫn nào khác ở đâu đó đang cố gắng tải tệp css đó (có lẽ là được mã hóa cứng)
.home {background: #FFF url(<%= image_path 'hippopotamus.jpg' %>) no-repeat; }
thực sự có thể được thay thế trong đĩa xích với .home {background: #FFF url(image-path('hippopotamus.jpg')) no-repeat; }
. Có lẽ bạn có thể thử nếu điều này giúp ích.
stylesheet_link_tag
.