活动管理员和自定义方法

时间:2012-04-17 14:36:37

标签: ruby-on-rails ruby controller activeadmin

这是我在Active Admin中的自定义页面

ActiveAdmin.register_page "Settings" do

  action_item do
     link_to('Import projects', 'settings/importprojects')
  end

  content do
    para "Text"
  end

  controller do
    def importprojects
      system "rake dataspider:import_projects_ninja"
      para "OK"
    end
  end

end

我要做的是,当我点击“导入项目”按钮时,我想在控制器中执行rake任务。但我无法访问该方法。

可能是什么问题或者我做错了什么?

由于

1 个答案:

答案 0 :(得分:10)

好的,发现它,这是解决方案:

  sidebar :actions do
    button_to "Update projects", "/admin/projects/updateprojects", :method => :post, :confirm => "Are you sure?"
  end

  collection_action :updateprojects, :method => :post do
    system "rake dataspider:import_projects_ninja"
    redirect_to admin_projects_path, :notice => "Syncing..."  
  end

我创建了一个按钮,它运行方法'updateprojects'