Rails自定义属性
我刚刚开始Rails并有一个基本问题。Rails自定义属性
我需要添加客户属性(如电子邮件ID等),以便Rails应用程序可以在运行时读取它们。我怎样才能做到这一点 ?
我可以将它们添加到development.rb中吗?如果可以,我该如何读取它?
在java中,我会创建一个属性文件,并从我的应用程序中读取它。
谢谢你,
firemonkey
您是否在尝试存储和加载配置设置?
将配置设置存储在yaml文件中并使用初始化程序加载它们比装入环境文件更容易。
此Railscast:http://railscasts.com/episodes/85-yaml-configuration-file告诉你如何。
我不知道你在问什么。我猜你想要在数据库中有一组初始数据,当你真正运行应用程序时可以访问这些数据?如果是这样看看这个其他的SO问题How (and whether) to populate rails application with initial data
这是有点不清楚你到底想做什么,但听起来你可能有一个叫做Customer的模型,并且你想添加一些属性给它,如电子邮件地址,ID等?
基本上,使用Active Record你不需要做任何特殊的事情来添加一个简单的属性(如字符串或整数)。只需在数据库的客户表中添加一个名为“email_address”的字段,并且所有Customer对象都将自动获取“email_address”和“email_address =”方法(更不用说客户类本身获得“find_by_email_address”和其他有用的方法以及)。如果添加一个包含另一个模型的字段,则会更复杂一点 - 在表中添加一个“something_id”字段,以及与类定义的关联(例如“has_one:something”)。有关更多信息,请参阅ActiveRecord api文档。
您不必使用任何特定手段将该字段添加到数据库,但您可能需要考虑Migrations。迁移是保持您的架构在多台机器上版本化和同步的便捷方式。
如果您现在正在构建您的模型,那么您可以在生成器中添加捷径以添加字段。而不是仅仅说...
script/generate scaffold customer
...你可以说...
script/generate scaffold customer email:string name:string badge_number:integer
...,它会生成所有相应的字段中迁移,以及将它们添加到您生成的视图。
谢谢你的回答。它解决了我的问题。 – firemonkey 2009-07-19 15:53:51