0

Используя activeresource, я вытаскиваю модель activerecord из другого приложения. Эта модель делает менее простой метод, вытягивая результаты из нескольких ассоциаций. Как передать результат этого метода при вызове activeresource. Я попытался добавить его в схему activeresource, и я уверен, что могу сделать это с помощью настраиваемого маршрута или сделать этот метод беспорядочно в модели activeresource, но я бы предпочел, чтобы он прошел с первоначальным вызовом модель.Метод модели Activerecord передан в ActiveResource

Пример:

app1: activeresource модель RemoteModel

app2: ActiveRecord модель MyModel

MyModel реагирует на run_calculation_on_several_associations метод

Как я получаю 'run_calculation_on_several_associations' в RemoteModel просто и непосредственно ? Предпочтительно, когда RemoteModel вызывается в MyModel, не запуская собственный метод или маршрут.

+0

одно решение было бы запустить «run_calculation_on_several_associations» всякий раз, когда изменяются результаты, а затем сохранить, что в качестве поля в модели, которая activeresource бы подобрать - но это, кажется нечистым – blueblank

ответ

1

Вам нужно будет изменить ответ xml/json на ваш контроллер MyModel, чтобы включить метод, который вы хотите использовать.

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

 Смежные вопросы

  • Нет связанных вопросов^_^