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

ruby-on-rails – 在Rails 2.2.2中动态地向ActiveRecord模型添加字段?,第1张

概述假设我想允许管理用户通过Rails应用程序中的界面向ActiveRecord模型添加字段.我相信正常的ActiveRecord :: Migration代码足以修改AR模型的表结构(对于许多应用程序来说这是不明智的 – 我知道).当然,理论上只能添加某些类型的字段. 显然,需要在运行时动态构建向这个新修改的ActiveRecord模型添加(或编辑)记录的表单.一种常见的form_for方法是行不通 假设我想允许管理用户通过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等所有工作.

总结

以上是内存溢出为你收集整理的ruby-on-rails – 在Rails 2.2.2中动态地向ActiveRecord模型添加字段?全部内容,希望文章能够帮你解决ruby-on-rails – 在Rails 2.2.2中动态地向ActiveRecord模型添加字段?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1257588.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存