我刚开始使用Rails并且有一个基本问题。
我需要添加客户属性(如电子邮件ID等),以便Rails应用程序可以在运行时读取它们。我怎么能这样做?
我可以将它们添加到development.rb中,如果可以,我该如何阅读?
在java中我会创建一个属性文件并从我的应用程序中读取它。
谢谢,
firemonkey
答案 0 :(得分:2)
您是否尝试存储并加载配置设置?
将配置设置存储在yaml文件中并使用初始化程序加载它们很容易 - 加载比乱丢环境文件更好。
此Railscast:http://railscasts.com/episodes/85-yaml-configuration-file向您展示如何。
答案 1 :(得分:0)
我不确定你在问什么。我猜你想要数据库中的初始数据集,你可以在实际运行应用程序时访问它们?如果是这样,请查看其他问题How (and whether) to populate rails application with initial data
答案 2 :(得分:0)
有点不清楚你正在尝试做什么,但听起来好像你有一个名为Customer的模型,你想为它添加一些属性,比如电子邮件地址,id等等? / p>
基本上,使用Active Record,您无需执行任何特殊操作即可添加简单属性(如字符串或整数)。只需将一个名为“email_address”的字段添加到数据库中的customers表中,所有Customer对象将自动获取“email_address”和“email_address =”方法(更不用说Customer类本身获取“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
...它会在您的迁移中生成所有相应的字段,并将它们添加到生成的视图中。