2013-08-23 41 views
0

我的问题是:我需要访问另一个控制器动作后访问一个动作,完成并呈现第二个原因动作将有另一个呈现。观察者认为要使用,但从我读的内容来看,他们只处理模型。如何在Ruby on Rails中自定义观察者到控制器的动作

高清ACTION_1

render :xml => {:success => "Msg success."} 

高清ACTION_2

render :nothing => "", :locals => {:scheduling_id => scheduling_id} 

+1

控制器动作只能渲染一次,否则会遇到双渲染错误。显示真正需要解决的问题,而不是概念。 –

+0

我知道比利,但是是不同的情况 –

回答

0

“操作” 只是方法调用。 action_1可以调用action_2,but you can't call render more than once,所以你有一个结构问题,你需要处理。

也许这样的事情是你要去的?

class MyController < ApplicationController 

    def my_action 
    # ... 
    my_shared_stuff 
    render ... 
    end 

    private 

    def my_shared_stuff 
    # ... shared things 
    end 

end 
+0

所以我想要一个观察者,当你完成渲染action_1时知道观察者现在应该调用action_2。我的情况是,我需要渲染一个xml action_1从webservice返回,第二个访问方法js在action_2.html.erb中。 –

+0

@RachidCalazans,请求只能请求一种类型,html,js,json,xml或其他。即使你可以渲染,你如何交付? –

+0

@BillyChan,我知道它只能有一种类型。所以我想在控制器中使用Observer/Listiner。可能吗?或者只是模型? –

相关问题