1
我正在創建一個應用程序,其中一個用戶成爲帳戶的account_manager。我想要做的是將其他用戶添加到該帳戶。用戶只能擁有一個帳戶,但帳戶可以擁有多個用戶。關聯多個現有記錄
class Account < ActiveRecord::Base
has_many :users
belongs_to :account_manager, :class_name => 'User', :foreign_key => 'account_manager_id'
end
class User < ActiveRecord::Base
has_one :account
什麼我完全陷入上有一個地方,客戶經理可以在他們的名字從下拉用戶,類型,或使用一些其他類型的選擇。如果我嘗試在控制檯中執行此操作,我添加的每個新用戶都會替換最後一個而不是添加到它。這裏是我的帳戶架構:
create_table "accounts", force: :cascade do |t|
t.integer "user_id"
t.integer "account_manager_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
我用collection_select
嘗試,但我認爲這是僅適用於:雖然關聯。我也想我可能需要一個連接表,但我不知道如何設置它。最讓我惱火的是我不會創建新對象,我只想將現有用戶添加到現有帳戶。我只是在找一個能夠跟我說話的人。
謝謝!我是否還需要一個連接表來將用戶添加到帳戶? – railsie
如果您的帳戶擁有多個用戶,且用戶所屬的帳號不止一個,則需要一個連接表。但在你的情況下,用戶只能屬於一個帳戶,所以你不需要它。 –
如果答案解決了您的問題,您可以接受它。 –