我剛剛開始Rails並有一個基本問題。Rails自定義屬性
我需要添加客戶屬性(如電子郵件ID等),以便Rails應用程序可以在運行時讀取它們。我怎樣才能做到這一點 ?
我可以將它們添加到development.rb中嗎?如果可以,我該如何讀取它?
在java中,我會創建一個屬性文件,並從我的應用程序中讀取它。
謝謝你,
firemonkey
我剛剛開始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