浏览 796 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-04-27
有些时候我们得输入一批有共同属性的记录,比如同一个品牌的商品。activescaffold每次新增数据,都会把表单清空,同样的属性我们必须重新输入或选择。为了dry,我轻轻地改了一下activescafflod的crate 方法。
首先,在配置中把“创建的表单是否应该是持久”的选项改为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
搞掂,每次新增一个记录,到会复制对上一个记录的所有属性 最后,当然你也可以只复制需要重复的属性,而不是整个拷贝。 希望对大家的工作有帮助。 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-04-27
这样的效果的确能给用户更好的体验。
我这儿也分享一个有关ActiveScaffold创建的改进:批量创建 http://activescaffold.com.cn/blog/2008/04/02/activescaffold-ext-batch_create/ |
|
| 返回顶楼 | |
|
最后更新时间:2008-04-29
我觉得create应该增加一种复制create,可以复制一条记录。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-04-29
carlosbdw 写道 我觉得create应该增加一种复制create,可以复制一条记录。
User.create(another_user.attributes) |
|
| 返回顶楼 | |
|
最后更新时间:2008-05-19
我记得可以直接用@user.clone,会自动去掉主键ID
|
|
| 返回顶楼 | |
|
最后更新时间:2008-05-19
谢谢,去试试。
|
|
| 返回顶楼 | |








