1

私はRubyとRailsにかなり慣れていないので、「正しい方法」で物事を行う方法がよくわかりませんが、配列に渡したいRspecのメソッド(get、post、put、delete)がいくつかありますそのため、それらをループして毎回同じコードを実行できます。かなり簡単だと思ったのですが、やり方がわかりません。

それが可能かどうか、良い習慣、そしてその方法を知っている人はいますか?

4

2 に答える 2

4
['get', 'post', 'put', 'delete'].each {|m| obj.send(m) }

Ruby プロジェクトでは、このように行われていることがよくあります。

于 2013-02-20T22:14:12.267 に答える
0
  class Message
    def method1
      #something
    end

    def method2
      #something
    end   
  end

  message = Message.new
  methods = [ 'method1', 'method2' ]

  methods.each{ |method| message.send(method) }

または、より慣用的であるため、メソッドを宣言するときに文字列の代わりにシンボルを使用できます

実際にプライベート メソッドを呼び出そうとしない限り、send の代わりに public_send を使用することもベスト プラクティスです。

于 2013-12-10T19:08:23.743 に答える