Ruby on rails NoMethodError方法是在Ruby中定义的

Ruby on rails NoMethodError方法是在Ruby中定义的,ruby-on-rails,ruby,ruby-on-rails-4,ruby-2.0,Ruby On Rails,Ruby,Ruby On Rails 4,Ruby 2.0,我对Ruby中的一个方法有一个小问题。“information”是我想要迭代的一个散列,必要时格式化值,并用格式化/更改的对保存一个新的散列。以下是: formatted_information = {} information.each do |key, value| formatted_information[:"#{key}"] = self.send("format_#{key}(#{value})") end 应该调用同一文档中处理格式化的另一个方法(因此,如果找到键

我对Ruby中的一个方法有一个小问题。“information”是我想要迭代的一个散列,必要时格式化值,并用格式化/更改的对保存一个新的散列。以下是:

formatted_information = {}     

information.each do |key, value|
  formatted_information[:"#{key}"] = self.send("format_#{key}(#{value})")
end
应该调用同一文档中处理格式化的另一个方法(因此,如果找到键“name”,则应使用相应的值运行“format_name”)。虽然该方法存在,但我得到以下错误:

NoMethodError:未定义的方法'format_name(“Some name”)'

我在这里犯了什么错误

可能的投入: 信息={:name=>“A name”}

预期产出:
格式化的_信息={:name=>“B name”}

send
接受方法名作为第一个参数,并接受该方法的参数作为第二个参数。你应该使用

send(“格式化”{key}”,值)