对于一个项目,我需要能够将视频上传到视频服务器。首先,范围只是上传到Kaltura视频服务器。为了实现这一点,我创建了一个简单的关注点,它为处理上传的模型添加了一些回调方法。
这些回调方法(特别是对于Kaltura)正在加载:
class Videofile < ActiveRecord::Base
include KalturaBox::Entry
end
它们包含这样的基础知识(简化版):
module KalturaBox
module Entry
extend ActiveSupport::Concern
included do
before_save :create_kaltura_item, on: :create
private
def create_kaltura_item
puts 'create callback called'
self.upload
end
end
end
现在范围已经扩大,我被要求也包括Vimeo上传作为选项。
是否可以根据模型的属性动态嵌入关注点,还是应该考虑使用STI?
我正在考虑创建一个名为“video_type”的下拉菜单。如何根据该属性包含正确的代码?
答案 0 :(得分:1)
我正在考虑创建一个名为“video_type”的下拉菜单。如何根据该属性包含正确的代码?
before_save :create_kaltura_item, on: :create, if: :kaltura?
def kaltura?
video_type == 'kaltura'
end
通过这种方式,您可以静态地包含这两个问题。