Rails 4:通过ajax检查优惠券

Posted

技术标签:

【中文标题】Rails 4:通过ajax检查优惠券【英文标题】:Rails 4: Checking coupon by ajax 【发布时间】:2017-11-27 03:39:32 【问题描述】:

我想在 Rails 中进行查询以检查 ajax 中的折扣cuom。 Ajax 工作正常,但我遇到了路由问题:

加载资源失败:服务器响应状态为 404 (未找到)/app/payment/check_cupom?cupom=afdasdf

谁能给我一盏灯?谢谢!

我有这个:

html

<input name="cupom" type="text" placeholder="" id="cupom">
<p id="cupomResponse"></p>

AJAX

<script type="text/javascript">
    jQuery(function($)
        $('#cupom').on('blur', function() 
          var cupom = $("#cupom").val();
          $.ajax(
              url: '/app/payment/check_cupom?cupom=' + cupom, type: 'get', dataType: 'html',
              processData: false,
              success: function(data) 
                  if (data == "record_not_found") 
                      alert("Record not found");
                  
                  else 
                      $("#cupomResponse").val(data);
                  
              
          );
      );
    );
</script>

路线

resources :payment do
      collection do
        post 'pay', :action => :pay
        get 'check_cupom', :action => :check_cupom
      end
    end

控制器

def check_cupom
  @cupom = Coupon.find_by(name: params[:cupom])
  if @cupom.blank?
    render :text => "record_not_found"
  else
      discount = @cupom.price.gsub(/[^\d^\.]/, '')
      render :text => discount
  end
end

服务器日志

在 127.0.0.1 开始 GET "/app/payment/check_cupom?cupom=adfafd" 2017-06-23 11:35:21 -0300 AbstractController::ActionNotFound - The 找不到 App::PaymentController 的操作“显示”:–

【问题讨论】:

不相关,但你为什么叫它cupom 对不起,语言... 是的。我已经尝试过 rails 路径:/ 你能发布你的服务器日志吗? 开始 GET "/app/payment/check_cupom?cupom=adfafd" for 127.0.0.1 at 2017-06-23 11:35:21 -0300 AbstractController::ActionNotFound - 动作'show'可以找不到 App::PaymentController: 【参考方案1】:

我将逻辑放在 show 函数中,它可以工作。我不知道 wyy,一旦 rake 路由显示 url 是正确的。

【讨论】:

以上是关于Rails 4:通过ajax检查优惠券的主要内容,如果未能解决你的问题,请参考以下文章

WooCommerce:检查优惠券是不是有效

检查是不是在 woocommerce 中应用了任何优惠券代码

Algs4-1.4.45优惠券收集问题

优惠券没有被申请?

优惠券代码统计

Ajax BMW仅三天9月22-24日大特卖会8项优惠,众多礼品,请立即亲临!