2014-07-15 60 views
0

我想从我的控制器传递一个变量到自定义activeadmin页面,但我似乎无法弄清楚。ActiveAdmin自定义页面

我基本上有一个上传文件并解析它的表单。如果发生错误,它会抛出一个并重定向到自定义页面。

class ToolController < ApiController 
def import 
    begin 
     Schedule.Parse(data) 
    rescue MissingDependencyError => e 
     @dependencies = "test" 
     redirect_to admin_import_path({}.merge(flash_error: "Missing Dependencies", dependency_error: true, :locals => { :m => e.object })) 
    end 
end 

class MissingDependencyError < StandardError 
    attr_reader :object 

    def initialize(object) 
     @object = object 
    end 
end 

ActiveAdmin.register_page "Import" do |lab| 
    menu false 
    content do 
     @dependencies  
    end 
end 

@dependencies回来为零 - >为什么?

我可以通过params散列,但这不是正确的方法。

回答

0

实例变量不可用后redirect_to ... redirect_to创建一个新的控制器实例和前一个控制器对象的所有实例变量都消失了。

相反params哈希表,你可以使用会话哈希

session[:dependencies] = "test" 

content do 
    session[:dependencies] 
end 
+0

SteveTurczyn,没有工作 –

+0

咦!但是你仍然可以看到闪光消息? – SteveTurczyn