有些时候我们得输入一批有共同属性的记录,比如同一个品牌的商品。activescaffold每次新增数据,都会把表单清空,同样的属性我们必须重新输入或选择。为了dry,我轻轻地改了一下activescafflod的crate 方法。
首先,在配置中把“创建的表单是否应该是持久”的选项改为ture
这样每次提交后,表单又会自己打开。
然后修改/vendor/plugins/active_scaffold/lib/action/create.rb文件62行do_new方法:
搞掂,每次新增一个记录,到会复制对上一个记录的所有属性
最后,当然你也可以只复制需要重复的属性,而不是整个拷贝。
希望对大家的工作有帮助。
首先,在配置中把“创建的表单是否应该是持久”的选项改为ture
active_scaffold :product do |conf|
conf.create.persistent =true
end
这样每次提交后,表单又会自己打开。
然后修改/vendor/plugins/active_scaffold/lib/action/create.rb文件62行do_new方法:
def do_new
@record = active_scaffold_config.model.new
#这段是我加进去,为了增加添加速度
last_recor = active_scaffold_config.model.find(:first,:order=>'id desc')
@record = last_recor.clone if last_recor
#到这里结束
apply_constraints_to_record(@record)
@record
end
搞掂,每次新增一个记录,到会复制对上一个记录的所有属性
最后,当然你也可以只复制需要重复的属性,而不是整个拷贝。
希望对大家的工作有帮助。