我一直在阅读和重新阅读 Rails 协会指南:
http://guides.rubyonrails.org/association_basics.html
这很接近但不完全相同:
我不确定如何设置以下场景。
事件的状态为挂起、打开或关闭。
我认为这很简单,只需:
event has_one status
status belongs_to event
但这确实不是一对一的关系,因为一个状态可以属于许多事件。
所以我想我会做类似的事情:
status has_many events
event belongs_to status
但这似乎很有趣,因为状态不拥有事件。一个事件拥有一个状态,对吧?
我曾尝试使用枚举但没有状态模型。但这变得很棘手,因为 ActiveRecord 似乎并不真正支持枚举。我还认为,如果有人想扩展状态选项的数量,例如添加“等待批准”或其他内容,拥有一个单独的模型可能会很好。
这篇文章表明我的后一种设置是可以的,即使它读起来很有趣:
非常简单的 Rails Active-Record 关联问题
但我只是想知道我是否不知道有更好的 Ruby/Rails 方法来处理这个简单的场景。
提前致谢!