在rails上为ruby制作自定义命令

时间:2013-09-09 21:49:22

标签: ruby-on-rails ruby ruby-on-rails-4

我想在rails应用程序上为我的ruby创建新的命令行程序,但是我找不到如何创建新命令。 我的意思是,在RoR中this functional analogue

请帮帮我,请告诉我如何解决问题。

非常感谢。

P.S。抱歉我的英语。

ADD1:我想为解析xmls创建后端脚本并将其保存在数据库中。我想,如果我可以在我的RoR应用程序中使用AR类,那将非常好。

2 个答案:

答案 0 :(得分:0)

对于命令行编程,只需按如下方式使用符文:

rails runner "model.method"

与控制台和服务器一样,您也可以提及运行环境。

对于解析xml,有很多选项,比如LibXML。

答案 1 :(得分:0)

在 lib/tasks/my_self.rake 中创建你的 rake 任务文件 并写一些类似的东西:

namespace :my_commands do
  task :this_command do
    puts "this is My Command"
  end
end

如果您想访问您的应用程序模型,您必须使用您的任务(包括 environment.rb)为您的应用程序初始化 rails:

# write task name with :environment if you use task with AR
namespace :my_commands do
  task this_command: :environment do
    puts "this is My Command"
    
    user = User.first
    puts user.name
  end
end

现在您可以在终端中运行您的任务代码: $ rails my_commands:this_command