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