【发布时间】:2013-08-08 12:17:03
【问题描述】:
我有一个名为evaluation 的模型belongs_to 有另外两个模型-student 和goal。
在研究如何为路由设置此关联时,起初我认为多态关联是最好的,但现在我不太确定。我对多态关系的理解不是那么牢固,所以如果我错了,请纠正我,但似乎在我的情况下evaluations 可以belong_to student 或goal 同样,但这并不是我真正想要的想要。
事实上,一个给定的evaluation belong_to 同时是一个student 和 一个goal 是很重要的。 Rails routing guide 特别提到拥有三重嵌套资源不是一个好主意:
但是,即使这个警告也没有帮助,因为在这个例子中 photos belong_to magazines 反过来 belong to publishers - 而在我的情况下 evaluations 应该 belong_to students 和goals 同时。
我试过了
resources :students, :goals do
resources :evaluations
end
但这只会为students/evaluations 和goals/evaluations 创建一个资源 - 所以我的问题是:
如何路由到一个嵌套资源,该资源具有同等权重属于两个父模型(我只需要创建、更新和销毁操作,因为evaluations 只会在一个/两个父模型)?
或
我是否应该使用多态关联来执行此操作,而我只是没有正确理解它?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3.2 routes