ruby-on-rails – 如何在控制器方法之间传递值
发布时间:2020-12-17 04:32:26 所属栏目:百科 来源:网络整理
导读:有没有办法在控制器方法之间共享数组并存储它直到页面重新加载或调用另一个控制器的方法?有些方法应该更改数组. 解决方法 如果要在同一个控制器实例的方法之间共享值,那么, 声明一个实例变量: class BarsController UsersController before_filter :init_f
有没有办法在控制器方法之间共享数组并存储它直到页面重新加载或调用另一个控制器的方法?有些方法应该更改数组.
解决方法
如果要在同一个控制器实例的方法之间共享值,那么,
声明一个实例变量: class BarsController < UsersController before_filter :init_foo_list def method1 render :method2 end def method2 @foo_list.each do | item| # do something end end def init_foo_list @foo_list ||= ['Money','Animals','Ummagumma'] end end 如果要在会话中跨两个控制器共享值,则: class BarsController < UsersController before_filter :init_foo_list def method1 render :controller => "FoosController",:action => "method2" end def init_foo_list params[:shared_param__] ||= ['Money','Ummagumma'] end end class FoosController < UsersController def method2 params[:shared_param__].each do | item| # do something end end end 为共享参数键指定唯一名称,以避免与现有键冲突. 其他选项是将共享数组存储在会话广告中,在最终渲染之前将其删除. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |