Rails 3 ссылка на грабли - PullRequest
       8

Rails 3 ссылка на грабли

0 голосов
/ 11 августа 2011

Я создал задачу rake в своем приложении, и теперь я хочу, чтобы задача была доступной для пользователей приложения по ссылке в меню, но я не знаю, как оттуда ее вызвать. Как то так ...?

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

Ответы [ 2 ]

1 голос
/ 26 октября 2011

Я пытался, как вы сказали, но появляется следующая ошибка:

NameError (uninitialized constant MyTasksController::Rake)

Редактировать ответ:

Наконец-то я смог сделать это следующим образом:

class MyTasksController < ApplicationController
  def rake_it
    system ('rake backup:db:mysql')
    redirect_to :action => 'index', :controller => '/events'
  end
end
1 голос
/ 11 августа 2011

Вы не можете сделать это. 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"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...