【问题标题】:Rails 2.3.4 and jquery form plugin works on development, not in production?Rails 2.3.4 和 jquery 表单插件适用于开发,而不是生产?
【发布时间】:2009-10-05 22:45:59
【问题描述】:

我正在尝试在 Rails 2.3.4 中构建联系表单。我正在使用 jQuery Form 插件和这个 (http://bassistance.de/jquery-plugins/jquery-plugin-validation/) 进行验证。一切都在我的开发环境(mac os x snow leopard)中运行,加载 gif 出现,并且在我的日志中发送电子邮件并显示“请求完成”通知。但是在我的生产机器上,加载 gif 只是继续进行,并且没有发送表单。我已经等了很久了,什么都没有。

这是我的代码:

/public/javascripts/application.js


 // client-side validation and ajax submit contact form 
 $('#contactForm').validate( {
  rules: {
   'email[name]': { required: true },
   'email[address]': {
    required: true,
    email: true
   },
   'email[subject]': {
    required: true
   },
   'email[body]': {
    required: true
   }
  },
  messages: {
   'email[name]': "Please enter your name.",
   'email[address]': "Please enter a valid email address.",
   'email[subject]': "Please enter a subject.",
   'email[body]': "Please enter a message."
  },
  submitHandler: function(form) {
   $(form).ajaxSubmit({
    dataType: 'script',
    beforeSend: function() {
     $(".loadMsg").show();
    }
   });
   return false;
  }  
 });

我正在使用 submitHandler 发送实际的 ajaxSubmit。我为加载图形添加了“dataType:”脚本”和“beforeSubmit”。


  def send_mail
    if request.post?
      respond_to do |wants|
        ContactMailer.deliver_contact_request(params[:email])
        flash[:notice] = "Email was successfully sent."
        wants.js
      end
    end
  end

在开发中一切正常,但在生产中却不行。我错过了什么或做错了什么?

【问题讨论】:

    标签: jquery ruby-on-rails ajax forms plugins


    【解决方案1】:

    我会检查您的生产日志,看看 Mailer 是否可能无法真正发送电子邮件。我会检查几件事:

    • 您是否仅在您的 environment/development.rb 中定义了邮件配置,而不是在 environment/production.rb 或 environment.rb 中定义?
    • 由于它显示了您的“加载程序”,它不太可能没有发送正确的 JS 文件,但如果您正在缓存您的 JS 文件,我会检查以确保它发送正确的版本。

    您也可以始终在本地运行脚本/服务器生产或将您的Passenger env在本地切换到生产以测试它是否很麻烦检查您的实际生产服务器。

    我还将把 Mailer 移出 responds_to 块:

      def send_mail
        if request.post?
          ContactMailer.deliver_contact_request(params[:email])
          respond_to do |wants|
            wants.js
          end
        end
      end
    

    【讨论】:

      猜你喜欢
      • 2016-06-16
      • 1970-01-01
      • 1970-01-01
      • 2014-05-27
      • 1970-01-01
      • 1970-01-01
      • 2013-11-26
      • 2013-11-13
      • 2015-06-19
      相关资源
      最近更新 更多