2012-07-23 72 views
0

我有一個user tablecontainsuser registration detailsusernamepasswordemail ...如何存儲用戶配置文件數據?

我怎樣才能add一個profile tablestorename, country, age etc ...?

難道我只是createtableuse JOIN使用Ruby on Rails選擇數據或is there another way to do this

+1

配置文件表是否必須分開?你談論的屬性聽起來像是可以包含在用戶表中,而不是一個巨大的交易? – TangoKilo 2012-07-23 12:00:55

回答

3

使用遷移將這些列添加到用戶模型。從它的聲音中,我不認爲你實際上需要一個單獨的模型來表示這些屬性。

遷移可能看起來像

rails g migration AddProfileDataToUsers 

class AddProfileDataToUsers < ActiveRecord::Migration 
    change_table :users do |t| 
    t.add_column :name, :string 
    t.add_column :country, :string... 
    #whatever else you want to add to the user model here 
    end 
end 

然後你就可以拉動數據,您可以通過這些方針做@ user.country什麼需要它。希望這有助於

+0

您的方法是我想到的方法,但如果我想存儲除了我提到的以外,背景顏色,鏈接顏色等以及許多其他屬性(如邀請計數,可能使總的新列達到10 + - – fxuser 2012-07-23 12:42:10

+2

@fxuser:這更多的是一個設計決定,而不是純技術的決定。您可以使用tjkoding的建議,只需添加更多的列,或者您可以創建一個全新的模型,並將其與您的用戶模型相關聯。如果你問我,我會添加更多列。 – 2012-07-23 13:41:47

+0

虐待與新表,並將其與我的用戶模型關聯...如果我想添加3-4新列我會做什麼@tjkoding說,但因爲我的用戶模型有超過15列我不認爲加10 +更易於管理... – fxuser 2012-07-23 15:05:31

相關問題