2012-01-29 25 views
13

Như bạn sẽ thấy trong hình ảnh bên dưới, css trên trang chủ lưu trữ cục bộ của tôi có khoảng cách tốt hơn ở trên cùng so với trên heroku.CSS trông khác trên heroku

Trước đây mọi người đều gặp phải vấn đề này. Bạn có thể nhìn thấy nó tốt nhất trên trang này http://pltcpal.herokuapp.com/forums/

Tôi đang sử dụng Twitter bootstrap, mà khuyên bạn thêm

`padding-top: 40px;` 

với cơ thể nếu sử dụng thanh điều hướng trên. Bằng cách nào đó nó không làm việc ...

heroku

local host

+0

Có thể trùng lặp? http://stackoverflow.com/questions/tagged/css+heroku?sort=votes&pagesize=50 –

+0

@IOXenus Đó là một câu hỏi hoàn toàn khác nhau – Leahcim

+1

có thể do thực tế là bạn không sử dụng Đặt lại CSS. Nếu bạn thêm 50px đệm instaed 40px, nó lokks tốt. – Jawad

Trả lời

18

Sự cố liên quan đến việc xử lý đường dẫn nội dung trên Heroku. Có một số cách để xử lý việc này, xem http://devcenter.heroku.com/articles/rails31_heroku_cedar

Tôi đã khắc phục sự cố trong ứng dụng bằng cách biên dịch trước nội dung cục bộ trên máy của tôi và sau đó đẩy chúng vào Heroku.

Pre-biên dịch tài sản:

RAILS_ENV=production bundle exec rake assets:precompile 

Add/cam kết những thay đổi kho git:

git add public/assets 
git commit -m "vendor compiled assets" 

Để được an toàn Tôi đã thử nghiệm điều toàn bộ trên một chi nhánh địa phương trên máy tính của tôi đầu tiên Tôi đã đẩy đến Heroku bằng cách sử dụng lệnh sau đây (Heroku thường bỏ qua tất cả các nhánh ngoại trừ nhánh chủ, do đó thủ thuật):

git push -f heroku heroku-assetpipeline:master 
+0

Làm ngày của tôi. Cảm ơn. –

1

Tôi có vấn đề rất giống nhau. Khi tôi so sánh mã phát triển và sản xuất, nó xảy ra trên máy phát triển các tệp định kiểu và tệp javascript từ bootstrap tất cả được tải theo đó trên trang web sản xuất (Heroku), chỉ có một ứng dụng XYZ.css và một ứng dụng-XYZ .js.

Tôi không chắc liệu đây có phải là vấn đề với đường dẫn nội dung hay không.

Có thể một người nào đó giải thích về những gì cần phải làm để (trước) biên dịch đường dẫn nội dung như vậy mà triển khai trên Heroku thành công.

10

FWIW, tôi có cùng một vấn đề này và đã kiểm tra mọi thứ tôi có thể nghĩ đến, cũng như những điều trên. Nó bật ra tôi phải có thu nhỏ trong trình duyệt của tôi trong khi trên localhost, và tôi đã có zoom tiêu chuẩn trên url sản xuất của tôi.

Việc này đơn giản như đặt lại thu phóng trong trình duyệt của tôi trên cả hai trang. Hy vọng điều này sẽ giúp người khác với cùng một vấn đề.

+0

Hahahahaha. Tương tự! :) –

0

Có thể bạn đã biên dịch trước nội dung của mình tại một số điểm không? Để buộc heroku biên dịch nội dung của bạn trong quá trình biên dịch slug, bạn có thể đổi tên công khai/asset/manifest.yml thành public/assets/manifest.yml.bak, commit nguồn của bạn và đẩy vào heroku.

Heroku giả định bạn đã biên soạn nội dung của mình cục bộ khi thấy tệp manifest.yml.

0

Tôi đã gặp sự cố tương tự này và làm theo hướng dẫn của một vài trang khác nhau bao gồm tài liệu của riêng Heroku.Tôi đang đăng bài ở đây để giúp anh chàng tiếp theo bởi vì có thể do những thay đổi trong Rails 4, Heroku, hoặc Github nhưng các hướng dẫn trên không có tác dụng gì cả đối với tôi. Tuy nhiên tôi đã làm cho nó hoạt động và đây là cách làm.

Có thể bạn nên biên dịch trước tài sản của mình bằng cách sử dụng RAILS_ENV=production bundle exec rake assets:precompile nhưng sau đó chuyển đến thư mục 'công khai/tài sản' và sao chép "tất cả" .css ',' css.gz ',' .json ',' .yml ' các tệp '.js' bắt đầu bằng 'ứng dụng' hoặc 'tệp kê khai'. Di chuyển chúng vào một thư mục bên ngoài thư mục của ứng dụng. Làm điều này chỉ cần tuân theo bất cứ điều gì đi sai. Xác minh tất cả các tệp đó sẽ bị xóa khỏi thư mục công khai/tài sản/'của ứng dụng. Tiếp theo, khởi động lại máy chủ đường ray cục bộ của bạn và xác minh ứng dụng của bạn vẫn hoạt động như bạn dự định. Sau đó đi đến tài khoản Github của bạn và đi vào thư mục 'public/assets /' của kho lưu trữ của bạn và xóa tất cả các tệp tương tự mà bạn vừa thực hiện cục bộ. Sau đó, thêm/cam kết cục bộ, sau đó nhấn để git, sau đó đến heroku và walla bạn đã hoàn thành nó sẽ hoạt động. Lý do cơ bản đằng sau nó, điều tôi giả định, là khi bạn đẩy vào Heroku nó kiểm tra các tài sản được biên dịch trong kho của bạn và vì điều này, mặc dù tôi đã biên dịch trước tại địa phương, nó vẫn kéo một số cấu hình tài sản từ các cam kết trước đó . Bằng cách loại bỏ các tệp này, Heroku phải biên dịch chúng trong khi đẩy. Một điều tôi đã không thử mà có thể làm việc chỉ là chuyển sang một chi nhánh khác và xóa những tập tin đó và triển khai nhánh đó cho Heroku, vì vậy bạn có thể thử nó trước, nhưng đây là những gì đã làm việc cho tôi.

Một lưu ý khác, đổi tên tệp thành .bak hoặc .old Heroku vẫn coi chúng là quy tắc của chúng và hiển thị chúng vì nó là bản gốc không hiển thị chính xác.

Các vấn đề liên quan