我正在Rails中建立一个具有特定销售模型的商店.我需要允许用户每30天只向其订单添加3个项目.30天计数器应该在添加第一个order_item时开始.一旦30天到期,用户将能够添加3个订单.如果30天没有通过,例如,用户添加了两个order_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) 我正在构建一个基于订阅的应用程序,我想通过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) 我知道我可以通过在产品提交表单上选中“虚拟”来自动禁用送货字段 - 但如何在默认情况下禁用 Woocommerce 预订产品结账时的送货字段(对于“预订”产品类型)?
php wordpress woocommerce hook-woocommerce woocommerce-bookings
我想包含一个指向通过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)
我的问题是如何在结帐表单中创建这种类型的隐藏字段?