Rails跑步者不工作

时间:2014-08-29 05:17:33

标签: ruby-on-rails ruby runner

我遇到了Rails跑步者的问题。当我尝试使用if时,即使是命令行,它什么都不做!它不显示错误消息,也不显示操作结果。

例如,如果我尝试

rails runner Credit.count

定义了模型Credit,方法计为Credit.first.update_attribute(:estado, "En proceso")甚至更简单的任务,跑步者什么也没做!

我试过说环境是发展,但没有任何作用。有没有人有任何见解?我做错了吗?

编辑:我正在看数据库,这是问题,没有更新。我将第一个元素的“estado”列的值更改为“En proceso”以外的值,但是,无论我使用该运行器多少次,db都没有显示任何更改。

3 个答案:

答案 0 :(得分:2)

  

rails runner :runner以非交互方式在Rails的上下文中运行Ruby代码

update_attribute :它只返回true或false,如果要输出结果,可以使用" puts"或" p"。

例如,

$ rails r "User.first" #no output, even it will return a user object
$ rails r "puts User.first" # you can use "puts" get the output
#<User:0x007f8a2c76e608>

答案 1 :(得分:0)

如果您刚刚在控制台中编写Credit.first.update_attribute(:estado, "En proceso"),则不应该有结果,但是您可以在数据库中看到结果,以检查update_attribute是否真正更新了您可以写为update_attribute!你也可以写:

p Credit.first.update_attribute(:estado, "En proceso")应该将truefalse打印到控制台

答案 2 :(得分:0)

原来我是个白痴。

首先,我必须更改方法的名称,调用Credit.count调用默认的count方法,因此我将其更改为myMethod。

之后,我能够使用puts函数并轻松更新数据库:)