你可以使用rails cache.
Rails.cache.write("list",[1,2,3])
Rails.cache.read("list")
Run Code Online (Sandbox Code Playgroud)
如果要在同一控制器实例的方法之间共享值,则声明一个实例变量:
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
Run Code Online (Sandbox Code Playgroud)
如果要在会话中跨两个控制器共享值,则:
class BarsController < UsersController
before_filter :init_foo_list
def method1
render :controller => "FoosController", :action => "method2"
end
def init_foo_list
params[:shared_param__] ||= ['Money', 'Animals', 'Ummagumma']
end
end
class FoosController < UsersController
def method2
params[:shared_param__].each do | item|
# do something
end
end
end
Run Code Online (Sandbox Code Playgroud)
为共享参数键指定唯一名称,以避免与现有键冲突.
其他选项是将共享数组存储在会话中,并在最终渲染之前删除它.
| 归档时间: |
|
| 查看次数: |
15528 次 |
| 最近记录: |