나는 sinatra에서 전에 한 번도 해 본 적이 없으며 프로젝트에서 시도해보기로 결정했습니다. 나는 스크립트 로딩이 어떻게 작동하는지 혼란 스럽다. 간헐적으로 작동하는 것 같습니다. 때로는 2 개의 스크립트/css 파일에 내부 서버 오류가 있으며 때로는 모두 오류가 발생합니다. 내가 공용 폴더/공공/자산의 내부 자산 폴더가sinatra에서 스크립트를 올바르게로드합니까?
<!doctype html>
<html>
<head>
<title>An HTML5 box of sand</title>
<meta charset="utf-8" />
<link href='http://fonts.googleapis.com/css?family=Arvo' rel='stylesheet' type='text/css'>
<link rel="stylesheet/less" type="text/css" href="/assets/stylesheets/style.less">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script><!--loads jquery-->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script><!--loads jquery ui-->
<script type="text/javascript" src="/assets/js/lib/handlebars.js"></script>
<script src="/assets/js/lib/less-1.3.0.min.js" type="text/javascript"></script>
<script type="text/javascript" src="/assets/js/script.js"></script><!--This is the place where you play!!!-->
</head>
<body>
<%= yield %>
</body>
</html>
:
이 내 layout.erb입니다. 때로는 assets/js/script.js 파일을로드하고 핸들 막대 파일을로드하지 않기 때문에 이상합니다. 다른 시간에는 script.js 파일이 아닌 핸들 바를로드합니다. 무슨 일이 일어나고 있는지 잘 모르겠습니다.
~~~~~~~~~~~~~~~~~ UPDATE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~
문제를 발견했지만 해결 방법을 모릅니다.
그래서 데이터 매퍼 auto_migrate를 사용하고있는 것 같습니다. 메서드가 어떻게 든 자산이로드되는 방식과 관계가 있습니다. 내가 이것에 대해 할 수있는 일이 있나. 여기에 내 app.rb 파일에있는 것입니다 :이 당신이 자동으로 당신이 당신의 모델에서 지정하는 테이블을 작성 얼마나하다는 튜토리얼에서 읽을 수 있기 때문에
require 'rubygems'
require 'sinatra'
require 'data_mapper'
# Include the models
require './models/User'
# Connect to mysql
DataMapper.setup(:default, "mysql://[email protected]/dev_landing")
#This line is what is messing everything up.
DataMapper.auto_migrate!
set :public_folder, 'public'
get '/' do
erb :home
end
내가 같이 데이터 맵퍼를 설정합니다. 이 작업을 수행하는 더 좋은 방법은 내 스크림 및 CSS의 로딩을 엉망으로 만들지는 않습니까?
작은 포인터 일 뿐이므로 gzip과 같이 모든 스크립트 태그 속성을 같은 순서로 정의하는 것이 좋습니다 (스크립트 참조의 순서가 다름) 생산에 더 좋습니다. (Albiet, 당신은 스크립트를 결합하고 축소하여 더 많은 비용을 절약 할 수있을 것입니다 :) – Rym