加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在Rails 2.2.2中动态地向ActiveRecord模型添加

发布时间:2020-12-17 01:51:14 所属栏目:百科 来源:网络整理
导读:假设我想允许管理用户通过Rails应用程序中的界面向ActiveRecord模型添加字段.我相信正常的ActiveRecord :: Migration代码足以修改AR模型的表结构(对于许多应用程序来说这是不明智的 – 我知道).当然,理论上只能添加某些类型的字段. 显然,需要在运行时动态构
假设我想允许管理用户通过Rails应用程序中的界面向ActiveRecord模型添加字段.我相信正常的ActiveRecord :: Migration代码足以修改AR模型的表结构(对于许多应用程序来说这是不明智的 – 我知道).当然,理论上只能添加某些类型的字段.

显然,需要在运行时动态构建向这个新修改的ActiveRecord模型添加(或编辑)记录的表单.一种常见的form_for方法是行不通的.这个讨论表明这只能通过JavaScript实现.

http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/fc0b55fd4b2438a5

我过去曾使用Ruby来查询对象的可用方法.我似乎记得它非常慢.我太过绿了,Ruby和Rails知道一种优雅的方法来解决这个问题.我希望有人在这里.我也对这个问题完全不同的方法持开放态度,不涉及修改数据库.

解决方法

Say I wanted to allow an
administrative user to add a field to
an ActiveRecord Model via an interface
in the Rails app.

我之前通过一个名为AdminAdditions的额外模型解决了这类问题.该表包括id,管理员用户标识,模型名称字符串,类型字符串和默认值字符串.

我重写模型的查找和保存方法以从其admin_additions添加属性,并在更改时适当地保存它们.模型表有一个大的文本字段,最初为空,我保存添加的属性的非默认值.

本质上,视图和控制器可以假装模型的每个属性都有自己的列.这意味着form_for等所有工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读