Activerecord模型方法传递给ActiveResource

时间:2012-01-07 15:42:51

标签: ruby-on-rails ruby-on-rails-3 activerecord activeresource

使用activeresource,我从另一个应用程序中提取了一个activerecord模型。该模型不是简单的方法,而是从几个关联中提取结果。如何使用activeresource调用传递此方法的结果。我已经尝试将它添加到activeresource模式中,我确信我可以使用自定义路由来完成它,或者在activeresource模型中使用该方法,但是我更愿意将它与原始调用一起传递给模特。

示例:

app1:activeresource模型RemoteModel

app2:activerecord model MyModel

MyModel响应方法run_calculation_on_several_associations

如何简单直接地将“run_calculation_on_several_associations”传递给RemoteModel?最好在RemoteModel调用MyModel时,不运行自定义方法或路由。

1 个答案:

答案 0 :(得分: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