【问题标题】:Rails 3 link_to rake taskRails 3 link_to 耙任务
【发布时间】:2011-08-11 15:22:49
【问题描述】:

我在我的应用程序中创建了一个 rake 任务,现在我希望应用程序用户可以通过菜单上的链接访问该任务,但我不知道如何从那里调用它。像这样……?

<%= link_to t('backup'), Rake::Task['backup'].invoke %>

【问题讨论】:

    标签: ruby-on-rails-3 link-to rake-task


    【解决方案1】:

    我按照你说的尝试了,但是出现下一个错误:

    NameError (uninitialized constant MyTasksController::Rake)
    

    编辑答案:

    我终于可以这样做了:

    class MyTasksController < ApplicationController
      def rake_it
        system ('rake backup:db:mysql')
        redirect_to :action => 'index', :controller => '/events'
      end
    end
    

    【讨论】:

    • 您可能需要在控制器中添加一个“包含 Rake”?
    【解决方案2】:

    你做不到。 Link_to 可以链接到静态或控制器动作。因此,您需要创建一些操作,您可以在其中调用您的 Rake 任务。

    class MyTasksController < ApplicationController 
      def rake_it
        Rake::Task['backup'].invoke
      end
    end
    
    <%= link_to  t("backup"), {:controller => :my_tasks, :action => "rake_it"} %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多