我正面临着我为我的公司产品开发的Rails应用程序的设计问题。我的应用程序允许创建两个父类的子类。In rails如何允许在运行时创建新的类和模型
class Coupon
include Commonelements
end
class ServiceCenterCoupon < Coupon
end
class DealershipCoupon < Coupon
end
当你去到视图,你想创建一个新的优惠券,您选择的两个取决于params为创建一个新的优惠券[:coupon_type]
在控制器:
if params[:coupon_type] == 'dealershipcoupon'
@coupon = DealershipCoupon.new(coupon_params)
if @coupon.save!
redirect_to @coupon
else
render :new
end
elsif params[:coupon_type] == 'servicecentercoupon'
@coupon = ServiceCenterCoupon.new(coupon_params)
if @coupon.save!
redirect_to @coupon
else
render :new
end
end
我想让管理员用户能够在运行时创建新的优惠券类型。说,有人想创建Repairshopcoupons类。 我需要对视图进行哪些更改,例如添加新表单或需要将哪些参数添加到现有表单以便能够在运行时创建新的优惠券子类?
我也明白,使用
repairshopcoupon = Class.new()
可以工作。例如,在控制器中的这种代码的匿名功能可以工作:
Repairshopcoupon = Class.new(Coupon) do
include ActiveModel::Validations
validates_presence_of :title
def self.name
"Oil Change"
end
end
@newrepairshopcoupon = Repairshopcoupon.new
@newrepairshopcoupon.save
但我不确定。
我的第一个问题是:什么是正确的流程,如果我希望用户从视图中创建新类。控制器应该处理什么以及如何保存?
我的第二个问题是:很少有客户属于经销商和服务中心组。每个组都有权管理他们可以管理的优惠券类型。我希望属于多个群组的这些用户能够看到相应的优惠券库存以及哪些用户下载了这些库存。我觉得有必要改变我的数据模型,以便所有优惠券清单和下载列表完全属于一个授权组,但我没有关于最佳方式的具体想法。
我的第三个问题是:什么是改变我的看法/ UX用于创建和管理优惠券,使多个组的用户将能够逐一清查之间切换的最佳方法?在这种情况下,用户体验设计的专业行业标准是什么?
非常感谢您的帮助。
你应该限制自己的一个问题。特别是当它们像这样广泛时。 – max