ruby-on-rails – 在Rails 2.2.2中动态地向ActiveRecord模型添加
假设我想允许管理用户通过Rails应用程序中的界面向ActiveRecord模型添加字段.我相信正常的ActiveRecord :: Migration代码足以修改AR模型的表结构(对于许多应用程序来说这是不明智的 – 我知道).当然,理论上只能添加某些类型的字段.
显然,需要在运行时动态构建向这个新修改的ActiveRecord模型添加(或编辑)记录的表单.一种常见的form_for方法是行不通的.这个讨论表明这只能通过JavaScript实现. http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/fc0b55fd4b2438a5 我过去曾使用Ruby来查询对象的可用方法.我似乎记得它非常慢.我太过绿了,Ruby和Rails知道一种优雅的方法来解决这个问题.我希望有人在这里.我也对这个问题完全不同的方法持开放态度,不涉及修改数据库. 解决方法
我之前通过一个名为AdminAdditions的额外模型解决了这类问题.该表包括id,管理员用户标识,模型名称字符串,类型字符串和默认值字符串. 我重写模型的查找和保存方法以从其admin_additions添加属性,并在更改时适当地保存它们.模型表有一个大的文本字段,最初为空,我保存添加的属性的非默认值. 本质上,视图和控制器可以假装模型的每个属性都有自己的列.这意味着form_for等所有工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |