「視圖」在這裏指的是模型屬性的不同組合,而不是傳統MVC的視圖。例如,我有以下型號:如何設計REST式模型的不同「視圖」?
class Game < ActiveRecord::Base
has_many :players
belongs_to :status
has_one :deck
has_many :turns
has_one :current_turn, :class_name => 'Turn', :conditions => ['turn_num = ?', '#{self.turn_num}']
end
我寫了一個full_xml
方法的遊戲,我用了「正常」獲取操作,這樣我可以包括球員和current_turn某些屬性,然後我不需要每個玩家都得到GET。我也不想在每一個GET中包含遊戲模型的所有屬性和兒童以及兒童的屬性。但是,現在我想要獲得一個遊戲歷史記錄,這是所有輪到的(以及它們的屬性/子項)。起初,我想到了一個新的模型,沒有相應的表格,然後意識到這並不是必須的,因爲數據和關係已經存在於遊戲中並轉變爲模型。我也想過寫一個新的動作,但我認爲我在RESTful世界的某個地方閱讀過,你不應該寫任何除核心以外的任何動作7.
順便說一句,我想在這裏返回XML,因爲我使用的是Flex前端而不是rails視圖。
嵌套的URI與REST無關。 – aehlke 2009-07-20 22:24:11