我正在开发一个Rails项目,该项目将通过URI公开一组资源。我遇到的问题如下:
考虑这些模型,学生,笔记和课程。每个课程都可以有许多由学生发布的笔记。在Active Record的文献中:
class Lesson < ActiveRecord::Base
has_many :notes
end
class Student < ActiveRecord::Base
has_many :notes
end
class Note < ActiveRecord::Base
belongs_to :lesson
belongs_to :user
end
现在我想知道URI设计和资源设计以支持以下场景:
检索ID为5的学生发布的所有笔记的列表 id为4的课程。
请注意,如果我在routes.rb中定义资源,请执行以下操作:
resources :lessons do
resources :notes
end
resources :students do
resources :notes
end
然后我可以通过“/ lessons / 4 / notes /”和“/ students / 5 / notes”访问笔记,但是我之前解释过的查询呢?
提前致谢!
答案 0 :(得分:2)
这个怎么样?
/notes?lesson=4&student=5
这是一个可能只与GET
一起使用的URI。因此,它是一个完全有效的URI,用于标识所需的资源:满足特定条件的所有注释的列表。
注意: REST URI不应受所使用框架支持的限制。