0

我想實現與x個記錄的has_many關聯,並且記錄將被命名。有限制的名爲has_many的Rails

讓我們更好地解釋。在previous question我問如何使用可選標記語言製作文本區域,並且我們得出結論,我需要一個單獨的模型,Field,它具有我需要的多個字段(language,originalrendered)。

現在我想要製作一個模型,比如說User,它有兩個這樣的字段。例如:about_mebiography。我如何在每次創建用戶時創建這些字段,在編輯用戶時編輯它們並在編輯用戶時銷燬它們?我將如何顯示他們只是寫作:User.about_meUser.biography

在此先感謝您的答案。

回答

1

David的解決方案創建了聯合模型。

然後,您必須在用戶表單中包含配置文件的表單。您必須在用戶模型中使用accepts_nested_attributes_for方法。

要刪除用戶被刪除時的配置文件,請將dependent => :destroy添加到2個模型之間的關係中。

1

你需要使用回調(http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html)。

例如,在您的User模型中,執行after_create回調將創建必需的字段。

此外,有一個after_save回調,檢查user.changed?如果不同,請更新字段。