Ruby on rails 语法错误,意外';}';,期望::或';[';或';';
控制器中的这一行导致语法错误,但我找不到任何错误。有人能找出哪里出了问题吗 这是一个Rails应用程序。Ruby on rails 语法错误,意外';}';,期望::或';[';或';';,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,控制器中的这一行导致语法错误,但我找不到任何错误。有人能找出哪里出了问题吗 这是一个Rails应用程序。Ruby 2.2.0和Rails 4.2.0您忘记了括号([])。它应该是: row = Hash[new_hash.map { |k, v| k, v.encode("UTF-16BE", invalid: :replace, undef: :replace, replace: '?').encode("UTF-8") }] 顺便说一句:在Ruby 2.2中,您可能只需要使用删除无效字节,
Ruby 2.2.0
和Rails 4.2.0
您忘记了括号([]
)。它应该是:
row = Hash[new_hash.map { |k, v| k, v.encode("UTF-16BE", invalid: :replace, undef: :replace, replace: '?').encode("UTF-8") }]
顺便说一句:在Ruby 2.2中,您可能只需要使用删除无效字节,而不是将其编码为UTF-16并返回。@matt我会尝试使用它。谢谢您提供的信息。谢谢,@Marek Lipka。我对编程本身还不熟悉,所以我经常遇到这样的堆栈问题。无论如何,我很高兴能解决这个问题。
row = Hash[new_hash.map{ |k, v| [k, v.encode("UTF-16BE", invalid: :replace, undef: :replace, replace: '?').encode("UTF-8")] }]