1

我正在使用 jquery-ui-rails gem。我创建了一个联系表单,当用户单击链接时显示 jquery ui 对话框。反过来,我有一个开发和生产服务器。在开发服务器上,当我单击链接时,联系表单会出现在 jquery ui 对话框中。但是,在生产网站上,当我单击链接时,没有出现带有联系表的对话框。代码与开发服务器上的代码相同。

我尝试将应用程序文件夹复制到开发服务器、gem 文件等。

我运行以下

-bundle install -rake assets:clean -rake assets:precompile -restart server

这在开发服务器上完美运行。

我在生产服务器上遵循相同的步骤,但链接不起作用。

我在这里真的很茫然。这就是拥有开发服务器的全部意义所在。这基本上什么也没告诉我。

以下是一些代码片段:

宝石文件:

 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 中删除的代码。

4

1 回答 1

0

I would suggest to move your js code from application.js to some other file , for example contact_form.js (in app/assets/javascripts/ directory) . The application.js has a special purpose - it is a manifest file . I think it would be OK if you place in you manifest file routines like these:

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

More about asset-pipeline management you can read here.

于 2013-03-09T17:33:57.473 回答