2009-04-21 64 views
0

我使用BaseWithoutTable插件來擴展ActiveRecord。這允許我創建沒有基礎表的模型(我從Web服務獲取數據)。我希望我的web應用程序保持安靜,但是我很難在沒有關係的情況下如何做到這一點。Rails:在無表主動記錄中模仿關係

更具體地說,假設我有書籍模型和作者模型,並且我從Web服務中獲取兩種資源。我想訪問書籍資源,例如/ authors/1/books。

看來可能有兩條路線我可以選擇。首先,破解關係(belongs_to,has_many),以便我可以定義我自己的而不需要外鍵。其次,我可能會構建自定義路線和控制器方法,使我可以訪問以前的網址。

如果任何人有任何想法如何做到這一點,我將非常感激。

謝謝,讓我知道如果你需要更多的信息。

回答

0

對於給定的網址,你可以做如下的事情。

/作家/ 1 /書籍

class Books < ApplicationController 
    before :find_author 

    def show 
    @books = Books.get_from_web_service_for_author(@author) 
    end 

    def find_author 
    @author = params[:author_id] 
    end 
end 

您需要定義訪問您的web服務方法,並且還必須在你的路由定義一個嵌套的資源。