1

Rails ランナーに問題があります。if を使おうとすると、コマンドラインでも何もしません! エラー メッセージやアクションの結果は表示されません。

たとえば、私が試してみると

rails runner Credit.count

モデルを定義しCredit、メソッドは次のようにカウントされます

Credit.first.update_attribute(:estado, "En proceso")

またはより単純なタスクでさえ、ランナーは何もしません!

環境は開発だと言ってみましたが、何も機能しません。誰にも洞察がありますか?私は何か間違ったことをしていますか?

編集:私はデータベースを見ています、それが問題です、更新はありません。最初の要素の列「estado」の値を「En proceso」以外に変更しましたが、ランナーを何度使用してもデータベースはまったく変化しません。

4

3 に答える 3

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>
于 2014-08-29T06:30:43.647 に答える
0

コンソールに書いたばかりの場合Credit.first.update_attribute(:estado, "En proceso")、結果は表示されませんが、DB に結果が表示されupdate_attributeます。実際に更新するかどうかを確認するために、次のように書くことupdate_attribute!もできます。

p Credit.first.update_attribute(:estado, "En proceso")どちらを印刷するtruefalse、コンソールに出力するか

于 2014-08-29T05:49:52.457 に答える