1

Rails 3 を使用します。サンプル メソッドは次のとおりです。

  def all_users
    users.as_json
  end

returnメソッドには常に a が必要ですか? 上記は機能しますが、

  def all_users
    u = users.as_json
    u
  end

もう 1 つ、適用しようとしましたが、常に?returningで囲む必要があります。do ... end

メソッドを書くためのより良い方法はありますか?

4

2 に答える 2

1

returnRubyistは、できる限りキーワードを省略することを好みます。あなたの場合、これはメソッドを書くための好ましい方法です

def all_users
  users.as_json
end

そして、あなたの2番目の質問に

I tried to apply returning, but it must always be enclosed with do ... end?

doendを組み合わせて、Ruby で「ブロック」と呼ばれるものを記述します。return実際には、ブロックは、配列、ハッシュ、列挙可能などで機能する特別な種類の反復メソッドです。キーワードをdoand で囲む必要はありませんend

于 2013-03-02T00:48:25.540 に答える
1

Ruby では、最後に実行された(mharper に感謝) メソッドの行が返されます。

したがって、この:

def all_users
  users.as_json
end

これ:

def all_users
  u = users.as_json
  u
end

この:

def all_users
  u = users.as_json
  return u
end

同じことをしてください。

于 2013-03-02T00:46:53.010 に答える