Ruby on rails 使用表单运行rake任务
我创建了一个rake任务,它接受一个参数。我可以使用Ruby on rails 使用表单运行rake任务,ruby-on-rails,Ruby On Rails,我创建了一个rake任务,它接受一个参数。我可以使用rake my_task[“args”]在命令行中运行此rake任务 我现在尝试创建一个带有文本字段和按钮的表单。单击按钮时,rake任务应以textfield的内容作为任务的参数运行 我怎样才能得到一个rails表单(我相信form_标记,它与任何资源都不相关)以这种方式运行,我怎样才能在点击按钮时运行rake任务 我不确定什么会去哪里,所以如果你能指定指令应该在哪里,这对我将是一个巨大的帮助。rake任务是一个服务器脚本,因此你需要遵循的模
rake my_task[“args”]
在命令行中运行此rake任务
我现在尝试创建一个带有文本字段和按钮的表单。单击按钮时,rake任务应以textfield的内容作为任务的参数运行
我怎样才能得到一个rails表单(我相信form_标记,它与任何资源都不相关)以这种方式运行,我怎样才能在点击按钮时运行rake任务
我不确定什么会去哪里,所以如果你能指定指令应该在哪里,这对我将是一个巨大的帮助。rake任务是一个服务器脚本,因此你需要遵循的模式将是这样的 1) 用户请求具有文本字段和提交按钮的表单(控制器#新建) 2) 用户点击向rails应用程序(controller#create)发出请求的表单上的submit 3) 控制器操作使用“系统”方法运行rake任务,并通过以下表单传递参数:
class MyController < ApplicationController
def new
end
def create
system "rake my_task", params[:args]
end
end
如果您想了解更多关于在控制器中运行rake任务的信息,请查看此railscastPerfect,这正是我想要的。
<%= form_tag my_rake_task_path, :method => 'post' do %>
<%= text_field_tag :args %>
<%= submit_tag "Run Task" %>
<% end %>
get 'rake_task', to: 'mycontroller#new'
post 'rake_task', to: 'mycontroller#create', :as => 'my_rake_task'