2014-02-14 61 views
0

我有一個模型,稱爲用戶。has_one無嵌套屬性。可能?

用戶可以選擇將一個帳戶連接到外部資源。

目前我做了一切使用has_many。定期進行NEW/CREATE操作。 但我不希望他給have_many賬戶那個外部資源。

這可能嗎? 現在我看到的唯一選擇是在註冊時創建_external_resource,然後允許應用程序控制器參數&將所有內容提交到Devise控制器。很難看。

只是想讓他在註冊時不要重新調整,但能夠在他喜歡的時候設置一個。

謝謝!

回答

0

雖然你的問題是比較模糊的,我想看看這個:

#app/models/user.rb 
Class User < ActiveRecord::Base 
    has_one :resource 

    before_create :build_resource if Proc.new { |a| a.resource_id.present? } 
end 

#app/models/resource.rb 
Class Resource < ActiveRecord::Base 
    belongs_to :user 
end 

你的模式是這樣的:

users 
id | name | created_at | updated_at 

resources 
id | user_id | information | other | attributes | created_at | updated_at 

這將允許你在設置資源上用戶new/create頁面如果你想。但是,如果您未設置resource_id屬性,則不會創建它

這是您要查找的內容嗎?