Rails jquery-ui-rails gem

时间:2013-03-09 17:26:47

标签: jquery ruby-on-rails jquery-ui

我正在使用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中删除的代码。

1 个答案:

答案 0 :(得分:0)

我建议将您的js代码从application.js移动到其他文件,例如contact_form.js(在app/assets/javascripts/目录中)。 application.js有一个特殊用途 - 它是一个清单文件。我认为如果您将清单文件例程放在这些例程中就可以了:

//= require jquery
//= require jquery-ui
//= require_tree .

有关资产管道管理的更多信息,请阅读here