Ruby 使用send调用助手类中的方法

Ruby 使用send调用助手类中的方法,ruby,rspec,ruby-on-rails-3.2,Ruby,Rspec,Ruby On Rails 3.2,我不知道为什么下面的代码是这样做的,有人可以看看,看看是怎么回事吗例如,为什么在下面的send方法中我们不发送符号?或为什么我们不直接调用它? describe Something do shared_examples 'for something' do context 'return 200 HTTP code' do it 'return the correct thing' do val = SomethingHelper.send(create_

我不知道为什么下面的代码是这样做的,有人可以看看,看看是怎么回事吗例如,为什么在下面的send方法中我们不发送符号?为什么我们不直接调用它?

describe Something do
  shared_examples 'for something' do
    context 'return 200 HTTP code' do
      it 'return the correct thing' do
        val = SomethingHelper.send(create_json)
      end  
    end
  end

  describe 'fddffsf' do
  it_behaves_like 'for something' do
    let(:create_json) {'create_json_hash'}
  end
end
在SomethingHelper中,我们有一个名为
create\u population\u management\u hash

的方法,“共享示例”用于共享相似环境的多个测试。它可以帮助您避免重复

例如,您有“fddffsf”要测试,您可能有更多类似的测试,唯一的区别是“create_json”

create\u json
不使用符号的原因是,它使用了
let

let
中定义变量时,使用符号。当你引用它时,你需要不带符号地使用它。

这个“共享示例”用于共享相似环境的多个测试。它可以帮助您避免重复

例如,您有“fddffsf”要测试,您可能有更多类似的测试,唯一的区别是“create_json”

create\u json
不使用符号的原因是,它使用了
let


let
中定义变量时,使用符号。当你引用它时,你需要不带符号地使用它。

它没有一个必须是
let
。这也可能是一种方法。这就是赤裸裸地使用单词的美妙之处。它不需要成为
let
。这也可能是一种方法。这就是光说一句话的妙处。