0

使用activeresource,我從另一個應用程序中提取一個activerecord模型。這個模型比從幾個關聯中抽取結果的簡單方法做得少。如何將此方法的結果與主動資源調用進行傳遞。我已經嘗試將它添加到活動資源模式中,並且我確定我可以使用自定義路由來執行此操作,或者在活動資源模型中混亂地執行該方法,但是我希望只將它與原始調用一起傳遞給該模型。傳遞給ActiveResource的Activerecord模型方法

例子:

APP1:的ActiveResource模型RemoteModel

APP 2:ActiveRecord的模型爲MyModel

爲MyModel響應方法run_calculation_on_several_associations

如何獲得 'run_calculation_on_several_associations' 到RemoteModel簡單直接?最好是當RemoteModel調出MyModel時,不運行自定義方法或路由。

+0

一個解決辦法是運行「run_calculation_on_several_associations」只要結果改變,然後保存,作爲模型中的一個領域,它的ActiveResource便拿起 - 但這似乎不乾淨 – blueblank 2012-01-07 17:15:08

回答

1

您必須更改您的MyModel控制器上的xml/json響應,以包含您要使用的方法。

class MyModelController < ApplicationController 
    def show 
    @my_model.find(params[:id]) 

    respond_to do |format| 
     format.html 
     format.xml { render xml: @user.to_xml(:methods => [ :run_calculation_on_several_associations])} 
    end 
    end 
end 
+0

我記得當讀一下這呈現json響應。 – blueblank 2012-01-07 23:35:33