Ruby on rails NoMethodError方法是在Ruby中定义的
我对Ruby中的一个方法有一个小问题。“information”是我想要迭代的一个散列,必要时格式化值,并用格式化/更改的对保存一个新的散列。以下是: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 应该调用同一文档中处理格式化的另一个方法(因此,如果找到键
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}”,值)