我正在使用jquery-ui-rails gem。我创建了一个联系表单,当用户单击链接时显示一个jquery ui对话框。反过来,我有一个开发和生产服务器。在开发服务器上,单击链接时,联系表单将显示在jquery ui对话框中。但是,在生产网站上单击链接时,不会出现带有联系表单的对话框。代码与开发服务器上的代码相同。
我尝试将app文件夹复制到dev服务器,gem文件等。
我运行以下
-bundle install - 资产:清洁 - 资产:预编译 -restart服务器
这在开发服务器上完美运行。
我在生产服务器上执行相同的步骤,但链接不起作用。
我真的很茫然。这是拥有开发服务器的重点。这基本上什么也没告诉我。
以下是一些代码段:
宝石文件:
gem 'jquery-rails', "~> 2.1.4"
gem 'jquery-ui-rails', "~> 3.0.0"
链接:
<%= link_to "Contact Us", "javascript:void(0)", :id => "contact-link" %>
申请js:
$(document).ready(function(){
$('#contact-link').click(function(){
$('#contact-form-wrap').show();
$("#contact-form-wrap").dialog({
title: "Contact Us",
height: 420,
width: 350,
modal: true,
buttons: {
"Send": function() {
if($('#contact_subject').val().length != 0 && $('#contact_message').val().length != 0) {
$('#contact-form').submit();
}
else {
$('#contact-error').html("You must select a subject and enter a message.");
}
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
});
});
请指教。我对生产中的所作所为非常有限。我不能搞乱网站。
编辑:
这就是我的应用程序js文件现在的样子:
//= require jquery
//= require jquery_ujs
//= require jquery.ui.core
//= require twitter/bootstrap
//= require active_admin
//= require contractor_validate
//= require painter_validate
//= require jquery.social.media.tabs.1.6
//= require jquery.validate.min
//= require payment
//= require the-tooltip
//= require general
//= require_self
General.js现在包含我从application.js中删除的代码。
答案 0 :(得分:0)
我建议将您的js代码从application.js
移动到其他文件,例如contact_form.js(在app/assets/javascripts/
目录中)。 application.js
有一个特殊用途 - 它是一个清单文件。我认为如果您将清单文件例程放在这些例程中就可以了:
//= require jquery
//= require jquery-ui
//= require_tree .
有关资产管道管理的更多信息,请阅读here。