0

我正在开发一个 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”访问笔记,但是我之前解释的查询呢?

提前致谢!

4

1 回答 1

2

那这个呢?

/notes?lesson=4&student=5

这是一个 URI,可能仅与GET. 因此,它是一个完全有效的 URI,用于标识您想要的资源:满足特定条件的所有笔记的列表。

注意: REST URI 不应受所用框架支持的限制。

于 2012-10-30T14:49:41.000 回答