【发布时间】:2012-06-23 01:41:44
【问题描述】:
我一直在阅读和重新阅读 Rails 关联指南:
http://guides.rubyonrails.org/association_basics.html
这很接近,但不完全相同:
Ruby on rails active record associations
我不确定如何设置以下场景。
事件的状态为挂起、打开或关闭。
我认为这很简单,只需:
event has_one status
status belongs_to event
但这确实不是一对一的关系,因为一个状态可以属于许多事件。
所以我想我会做这样的事情:
status has_many events
event belongs_to status
但这看起来很有趣,因为状态不拥有事件。一个事件拥有一个状态,对吧?
我曾尝试使用枚举但没有状态模型。但这变得很棘手,因为 ActiveRecord 似乎并不真正支持枚举。我还认为,如果有人想要扩展状态选项的数量,例如添加“等待批准”或其他内容,那么拥有一个单独的模型可能会很好。
这篇文章表明我的后一种设置没问题,尽管它读起来很有趣:
Really easy Rails Active-Record Associations question
但我只是想知道我是否不知道有更好的 Ruby/Rails 方法来处理这个简单的场景。
提前致谢!
【问题讨论】:
标签: ruby-on-rails associations has-many belongs-to has-one