Javascript 智能植根于Apache2上的Sinatra应用程序
在本地Apache2上,我有多个应用程序。我的httpd.conf如下所示:Javascript 智能植根于Apache2上的Sinatra应用程序,javascript,jquery,ruby,apache,sinatra,Javascript,Jquery,Ruby,Apache,Sinatra,在本地Apache2上,我有多个应用程序。我的httpd.conf如下所示: <VirtualHost *:80> ServerName localhost DocumentRoot /var/www/ RackBaseURI /app1 RackBaseURI /app2 RackBaseURI /app3 </VirtualHost> $(document).ready(function(){ $("#a_button").click(fu
<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/
RackBaseURI /app1
RackBaseURI /app2
RackBaseURI /app3
</VirtualHost>
$(document).ready(function(){
$("#a_button").click(function(){
$("#some_div").load("/app1/some_action");
});
});
在/var/www/directory中,我有指向每个应用程序的公用文件夹的符号链接。(app1/public-->名为app1的链接,app2/public-->名为app2的链接,等等)
如果打开localhost/app1,则启动操作(获取app1的“/”)
到目前为止一切正常。在view main.erb(加载在get'/'aciton中)中,我正在从public/js目录加载一些Java脚本
这就是我的问题。我必须这样加载它们(关注src=“/app1/…”):
在服务器上时,必须如下所示:
<script type="text/JavaScript" src="/js/jquery.js"></script>
$(document).ready(function(){
$("#a_button").click(function(){
$("#some_div").load("/some_action");
});
});
您可以创建帮助器方法,根据环境为URL添加适当的前缀,或者使用sinatra帮助器。它只解决了我一半的问题。它没有修复javascripts——问题中添加了详细信息。
<script type="text/JavaScript" src="/js/jquery.js"></script>
$(document).ready(function(){
$("#a_button").click(function(){
$("#some_div").load("/app1/some_action");
});
});
$(document).ready(function(){
$("#a_button").click(function(){
$("#some_div").load("/some_action");
});
});