2

次のコード:

User.all.each {|u| puts u.id}

すべてのレコードのすべてのフィールドを出力します。

idフィールドのみを印刷するように変更するにはどうすればよいですか?

4

3 に答える 3

8

この動作を再現することはできませんでしたが、コンソールでこれを見ている場合は、#eachすべてのフィールドを出力する各への呼び出しに対して、self を返す (そして User オブジェクトの大きな配列である self が検査される) という事実を誤解している可能性があります。代わりに実行User.all.each {|u| puts u.id}; nilして、それぞれの後にコンソールを返してnil、動作が持続するかどうかを確認できますか?

于 2013-03-29T19:09:10.477 に答える
0

この irb または rails コンソールを実行している場合、ID のみが出力されますが、コードから返されるのは、コンソールが出力する一連のユーザーです。上にスクロールすると、期待どおりの出力が表示され、続いてすべてのユーザー オブジェクトが完全な詳細と共に出力されます。

于 2013-03-29T19:43:21.060 に答える
0

を実行するputs uと、ハッシュまたはオブジェクトが得られますか? ハッシュの場合は、ではなくputs u[:id]orを使用します。puts u['id']puts u.id

于 2013-03-29T19:06:41.960 に答える