小编Mar*_* I.的帖子

如何限制current_user在每个时间段内向订单添加超过3个order_items?

我正在Rails中建立一个具有特定销售模型的商店.我需要允许用户每30天只向其订单添加3个项目.30天计数器应该在添加第一个order_item时开始.一旦30天到期,用户将能够添加3个订单.如果30天没有通过,例如,用户添加了两个ord​​er_items,他仍然可以在30天内再添加一个order_item.因此,如果用户尝试添加超过3个项目以显示错误消息,并忽略将order_items保存到current_user的订单.

我有产品,订单,order_items,用户.我想我应该向用户模型添加一些内容,但我不确定是什么.

order_items_controller.rb

def create
    @order = current_order
    @order_item = @order.order_items.new(order_item_params)
    @order.user_id = current_user.id
    @order.save
    session[:order_id] = @order.id

  respond_to do |format|
    format.js { flash[:notice] = "ORDER HAS BEEN CREATED." } 
  end
  end
private
  def order_item_params
    params.require(:order_item).permit(:quantity, :product_id, :user_id)
  end
end
Run Code Online (Sandbox Code Playgroud)

user.rb

class User < ActiveRecord::Base
  has_many :identities, dependent: :destroy
  has_many :order
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :omniauthable, :invitable, :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable
end
Run Code Online (Sandbox Code Playgroud)

order_item.rb

class OrderItem < ActiveRecord::Base
  belongs_to …
Run Code Online (Sandbox Code Playgroud)

ruby model-view-controller ruby-on-rails

5
推荐指数
1
解决办法
222
查看次数

如何在Stripe(Rails)中创建费用和客户

我正在构建一个基于订阅的应用程序,我想通过Stripe订阅向客户收费.我在提交表单后试图创建客户和收费.但是,只创建令牌,而不是收费和客户.因此表单成功完成,但在Stripe仪表板中,测试费用和客户不存在.这是我的控制器:

class SubscribersController < ApplicationController
  before_filter :authenticate_user!

  def new
  end

  def update
    token = params[:stripeToken]

    customer = Stripe::Customer.create(
      card: token,
      plan: 1212,
      email: current_user.email
    )

    Stripe::Charge.create(
      :amount => 8999,
      :currency => "usd",
      :source => token,
      :description => "Example charge"
    )

    current_user.subscribed = true
    current_user.stripeid = customer.id
    current_user.save

    redirect_to profiles_user_path
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails stripe-payments

4
推荐指数
1
解决办法
4900
查看次数

如何禁用 WooCommerce 预订产品的运输结帐字段

我知道我可以通过在产品提交表单上选中“虚拟”来自动禁用送货字段 - 但如何在默认情况下禁用 Woocommerce 预订产品结账时的送货字段(对于“预订”产品类型)?

php wordpress woocommerce hook-woocommerce woocommerce-bookings

4
推荐指数
1
解决办法
1987
查看次数

在WooCommerce中添加隐藏的结帐字段?

我想包含一个指向通过WooCommerce提交结帐表格的当前用户的个人资料的链接。

也就是说,要在隐藏字段中自动放置当前用户的作者链接,如下所示: example.com/author/username

我想通过在结帐表单中添加一个隐藏字段来实现这一点。因此,要获得链接,我会写这样的东西:

<?php

$currentUser = get_current_user_id();

$user = get_user_by( 'id', $currentUser );

$userUrl = get_bloginfo( 'home' ) . '/author/' . $user->user_login;

echo $userUrl;
?>
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在结帐表单中创建这种类型的隐藏字段?

php wordpress checkout woocommerce hook-woocommerce

2
推荐指数
1
解决办法
4225
查看次数