ActiveAdmin自定义页面

时间:2014-07-15 22:24:35

标签: ruby-on-rails ruby ruby-on-rails-4 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以nil返回 - &gt;为什么呢?

我可以通过params hash传递它,但这不是正确的方法。

1 个答案:

答案 0 :(得分:0)

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

您可以使用sessions hash

代替params哈希
session[:dependencies] = "test"

content do
  session[:dependencies]
end