相关疑难解决方法(0)

错误地转义了JSON编码(Rails 3,Ruby 1.9.2)

在我的控制器中,以下工作(打印"oké")

puts obj.inspect
Run Code Online (Sandbox Code Playgroud)

但这不会(呈现"ok\u00e9")

render :json => obj
Run Code Online (Sandbox Code Playgroud)

显然,该to_json方法会转义unicode字符.有没有办法防止这种情况发生?

ruby encoding json ruby-on-rails

19
推荐指数
5
解决办法
2万
查看次数

为什么to_json在Rails 4中自动转义unicode?

Rails 3:

{"a" => "<br/>"}.to_json
=> "{\"a\":\"<br/>\"}"
Run Code Online (Sandbox Code Playgroud)

导轨4:

{"a" => "<br/>"}.to_json
=> "{\"a\":\"\\u003Cbr/\\u003E\"}"
Run Code Online (Sandbox Code Playgroud)

为什么???

它似乎导致错误

Encoding::UndefinedConversionError: "\xC3" from ASCII-8BIT to UTF-8
Run Code Online (Sandbox Code Playgroud)

当我的Rails 3应用程序尝试解析我的rails 4应用程序生成的JSON时.

unicode encoding json ruby-on-rails ruby-on-rails-4

14
推荐指数
2
解决办法
5893
查看次数

将URL转换为JSON版本?

在我的应用程序的所有页面上,我想要一个指向当前页面的JSON版本的链接.这样做的任何巧妙的技巧?它变得复杂的地方是URL中包含额外的'&'参数.

因此,网址将被转换为:

'/users' => '/users.json'

'/users?page=1&per_page=5' => '/users.json?page=1&per_page=5'
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-3.1

7
推荐指数
2
解决办法
1万
查看次数