如何复制不同资产类型的整个模型/控制器/视图

时间:2011-12-19 20:42:25

标签: ruby-on-rails code-duplication

抱歉新手问题:我有一个应用程序,其项目包含不同的资产类型(文档,视频等)我想为音频添加另一项资产,其功能与视频相同。有没有办法可以轻松复制模型/控制器/视图/表格,将“视频”更改为“音频”?

1 个答案:

答案 0 :(得分:0)

您可以使用包含模型中所需的所有方法的Module来编写ActiuveSupport::Convern,然后您可以include模型中的模块使用以下方法扩展模型你的模块。像这样:

module AwsomeModule
     include ActiveSupport::Concern
     module ClassMethods
          # awesome class methods here
     end
     module InstanceMethods
          # awesome instance methods here
     end
end

然后在模型中简单地包含您的模块。对于视图,您可以使用Partials并通过objectas选项为其提供对象:

render 'layouts/awesome_partial', :object => @instance_var, :as => :data

然后在Partial中,您可以使用变量data访问给定的对象。