2016-02-09 24 views
1

目前我有上面提到的問題。ActiveResource最大常量問題;查詢路徑間歇性不同。

從我的理解來看,這是一個關於rails自動加載的問題,以及如何在命名空間中使用各種類的標準。

沒有任何範圍檢索產品/產品的產品。

# product.rb 
class Product < ActiveResource::Base 
    self.site = "#{end_point}/api/v2" 
    .... 
end 

市場::爲我們提供在市場範圍內尋找產品的界面,類似於產品的產品。

# market/product.rb 
class Market 
    class Product < ::Product 
    self.site = "#{end_point}/api/v2/markets/:market_name" 
    .... 
    end 
end 

控制器可以稱之爲產品的市場對象,但對象是回報不僅僅是產品

# market_product_controller.rb 
class MarketProductController < ApplicationController 
    def index 
    @object = ::Market::Product.all 
    end 
    .... 
end 

有關API,它們是2個不同的終點,以2個不同的結果集。

到目前爲止,當調用:: Market :: Product時,它似乎使用:: Product url和:market_name作爲該url的參數。

有沒有很好的解決方案呢?

社區其他人如何解決此問題?

乾杯是給予任何幫助。

回答

0

找到了答案,我的問題。

http://blog.revathskumar.com/2013/12/activeresource-passing-prefix-options.html

它必須看起來,我是用正確的ActiveResource所有這些一會兒。

self.site = end_point 
self.prefix = '/api/v2/markets/:market_name/' 

這將是正確的方式來使用它,當涉及到嵌套的資源。

當它到達ActiveResource :: Base.rb:1029時,此解決方案將很好地工作。它將能夠從prefix_source獲得正確的prefix_parameters,然後創建到遠程端點的正確路徑。

希望這個解決方案能夠幫助其他未來可能遇到同樣問題的人。