私は以前にシナトラで何もしたことがなかったので、プロジェクトで試してみることにしました。スクリプトの読み込みがどのように機能するかについて混乱しています。断続的に稼働しているようです。2 つのスクリプト/css ファイルに内部サーバー エラーが発生する場合もあれば、すべてにエラーが発生する場合もあります。
これは私の layout.erb です:
<!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>
public フォルダー /public/assets 内に assets フォルダーがあります。assets/js/script.js ファイルをロードし、handlebars ファイルをロードしないことがあるため、これは奇妙です。それ以外の場合は、script.js ファイルではなくハンドルバーをロードします。何が起こっているのかわかりません。
~~~~~~~~~~~~~~~~更新~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 〜
問題を発見しましたが、それを修正する方法がわかりません。
それで、データマッパーを使用しているため、auto_migrate! メソッドは、アセットのロード方法を何らかの形で台無しにしています。これについて何かできることはありますか?app.rb ファイルにあるものは次のとおりです。
require 'rubygems'
require 'sinatra'
require 'data_mapper'
# Include the models
require './models/User'
# Connect to mysql
DataMapper.setup(:default, "mysql://root@localhost/dev_landing")
#This line is what is messing everything up.
DataMapper.auto_migrate!
set :public_folder, 'public'
get '/' do
erb :home
end
モデルで指定したテーブルを自動的に作成する方法をチュートリアルで読んだので、このようにデータ マッパーをセットアップしました。私のスクリプトとCSSの読み込みを台無しにしないように、これを行うためのより良い方法はありますか?