2009-07-17 130 views
2

我剛剛開始Rails並有一個基本問題。Rails自定義屬性

我需要添加客戶屬性(如電子郵件ID等),以便Rails應用程序可以在運行時讀取它們。我怎樣才能做到這一點 ?

我可以將它們添加到development.rb中嗎?如果可以,我該如何讀取它?

在java中,我會創建一個屬性文件,並從我的應用程序中讀取它。

謝謝你,

firemonkey

回答

0

這是有點不清楚你到底想做什麼,但聽起來你可能有一個叫做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 

...,它會生成所有相應的字段中遷移,以及將它們添加到您生成的視圖。