2012-04-30 34 views
0

好吧,我有一個全新的rails 3.2.3應用程序,我需要具有很多其他屬性(如流派和生日等)的用戶。我正在尋求構建數據庫的最佳方法。我在想用戶及異型材在rails 3應用程序中正確排列用戶

class Profile < ActiveRecord::Base 
    belongs_to :contact 

class User < ActiveRecord::Base 
    has_one :profile 

,並把users表中的第一個和最後一個名稱和密碼信息,並在配置文件表中的其他數據。我正在使用devise作爲用戶認證。但是我有一個註冊表單,它具有所有需要的信息,所以有一種簡單的方法可以避免表格中兩個表格的嵌套。有一個簡單的方法來做到這...這似乎很簡單,但有我有點糊塗

+1

有理由有兩張桌子嗎?這意味着你將只有兩個模塊來管理而不是一個模塊。 –

+0

你是說一切都應該在用戶表中......是標準的 – Trace

+0

我看到的方式是我需要能夠回答「爲什麼要創建一個新表?」在繼續前進和決定之前。 –

回答

1

就個人而言,我喜歡有一個指向同一個表中的同一實體數據,

用戶=>姓名,地址,密碼...... #use role_id適用於不同的角色,例如管理員,測試人員,查看者?取決於你需要什麼以及它有多複雜。

你想用belongs_to => :user #module\table name

你的形式將需要更新以獲得像user.profile.password配置文件數據...(這是從我從你的問題了解最簡單的方式)

當你想要編輯你可以使用類似edit_user_profile_path(current_user, @profile)的東西,注意路徑user_profile,這是它知道從哪裏抓取它的地方。

就像這個答案https://stackoverflow.com/a/4753856/643500


在一個側面說明,如果你不精通的軌道,考慮從頭開始編寫你的第一個身份驗證系統。通過這種方式,您將瞭解所有事情的發展方向,並能夠了解如何對其進行定製或設計。這裏的教程http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

相關問題