为许多模型创建一个界面?

时间:2015-07-16 14:23:05

标签: ruby-on-rails ruby interface polymorphism

我目前正在开发一个用Ruby on Rails编写的自定义商店软件,它有三个礼品/凭证模型。一个是百分比折扣,一个是特定金额,一个是团体。现在它需要进行大修,我正在考虑创建一个界面,与旧模型具有多态关系的模型或类似的东西,以便为这三个模型添加特性和功能。

你会怎么做?我想我会选择具有多态关系的模型。任何建议我们欢迎!

1 个答案:

答案 0 :(得分:1)

您可以使用模块(可能会扩展问题)。

How to use concerns in Rails 4

module Giftable
    extend ActiveSupport::Concern

    included do 
       # add relationships, validations etc.
    end

    def some_instance_method
       ..
    end

    module ClassMethods     
        def some_class_method
        ..
        end
    end 
end

礼品/优惠券模型之一。

class SimpleVoucher < ActiveRecord::Base    
    include Giftable
end