我想在RoR應用程序中自我識別模型,但我不知道具體如何。我想保存一個鏈接列表,其中下一個節點具有前一個節點的標識。我怎樣才能做到這一點的方式?這是一對一的關係。我如何在rails上做ruby自引用?
14
A
回答
51
最簡單的方法:
class MyModel < ActiveRecord::Base
belongs_to :parent, :class_name => 'MyModel'
has_many :children, :class_name => 'MyModel', :foreign_key => 'parent_id'
end
+0
我正在使用rails 3,我只需要一個參考不是很多,has_one的作品?如果是,我做錯了什麼。 – JRafaelM 2011-05-23 17:52:20
2
我花了一些時間,試圖使其工作使用Rails 3.2.14
的文檔對self-joining associations建議並沒有爲belongs_to
協會合作。添加外鍵解決了問題。
Class User < ActiveRecord::Base
has_many :invitees, class_name: 'User', foreign_key: :invited_by
belongs_to :host, class_name: 'User', foreign_key: :invited_by
end
0
另請參閱本教程由瑞安貝茨在自我參考協會here。 Hck的答案將工作,但對我來說,我需要一個JOIN表,所以我通過Rails的關聯使用has_many。祝你好運!
相關問題
- 1. 在rails上做ruby計算Model.sum()
- 2. jquery jquery如何在rails上使用ruby?
- 3. 如何在Ruby on Rails上使用HSQLDB。
- 4. 如何在rails上使用POST與ruby?
- 5. 多對多自引用ruby-on-rails
- 6. 自引用關聯(Ruby on Rails)
- 7. 如何在rails 4上調用ruby的自定義方法?
- 8. 在Ruby/Tk中引用自我
- 9. Ruby on Rails各自做的方法。
- 10. 如何在Ruby上的Linux上使用我自己的.Net庫?
- 11. 如何在我的Rails網站上使用Ruby gem?
- 12. 我們如何在ruby上使用will_paginate on rails 3.0.3
- 13. Ruby on Rails的自我
- 14. 如何在開發中的rails上引發ruby異常?
- 15. 如何在rails上的ruby的索引中顯示主鍵?
- 16. Rails自引用has_many通過自我
- 17. Latin1_General_CI_AS - 在rails上使用ruby - Ruby ODBC
- 18. 如何在rails上配置ruby的netbeans?
- 19. 如何在ubantu上安裝ruby和rails
- 20. 如何在Rails上安裝Ruby?
- 21. 如何在rails上爲ruby創建.htaccess?
- 22. 如何在rails上使用ruby設置rails生產服務器?
- 23. Ruby on Rails和Rails引擎
- 24. 如何在我的Ruby on Rails網站上設置反向DNS?
- 25. 我有點失落:如何在網站上渲染rails/ruby?
- 26. Ruby on Rails - 在Javascript中引用圖像
- 27. 在Ruby on Rails中引用圖像
- 28. rails:在公共/索引中使用ruby
- 29. 如何使用ruby在rails活動記錄上創建二進制索引?
- 30. 如何在rails上使用ruby上傳和解析vcard?
我想你開始通過搜索StackOverflow「[ruby-on-rails]自我參照關聯」:http://stackoverflow.com/search?q=%5Bruby-on-rails%5D%20self%20referential%20association - 重複? :-) – conny 2011-05-23 12:49:11
實際上我搜查了這個,但他們沒有解決我的問題。 – JRafaelM 2011-05-23 17:51:03