相关疑难解决方法(0)

在输出JSON时,防止Rails对URL中的&符号进行编码

我有以下代码:

render json: { image: image }
Run Code Online (Sandbox Code Playgroud)

图像具有属性"url".让我们说它是:

https://blah.com/a?A=B&C=D
Run Code Online (Sandbox Code Playgroud)

渲染时,这就是我得到的:

{"image":{"url":"https://blah.com/a?A=B\u0026C=D"}}
Run Code Online (Sandbox Code Playgroud)

&符号被编码为\ u0026

有没有办法避免这种编码?

encoding json ampersand ruby-on-rails-4

19
推荐指数
1
解决办法
3529
查看次数

获取当前页面的网址,但格式不同

使用rails 2.我想要一个指向当前页面的链接(无论它是什么)使所有参数保持相同但将格式更改为'csv'.(设置格式可以通过在参数中使用format = csv或在路径的末尾放置.csv来完成).例如

posts/1
=> posts/1.csv OR posts/1?format=csv
posts?name=jim 
=> posts.csv?name=jim OR posts?name=jim&format=csv 
Run Code Online (Sandbox Code Playgroud)

我试着用这个hacky尝试

request.url+"&format=csv"

如果当前网址中存在参数(上面的情况2),则可以正常工作,但如果没有(案例1)则会中断.我可以在这些方面提出更多的hacky内容,例如测试请求是否有params,但我认为必须有一个更好的方法.

干杯,最大

编辑 - 顺便说一句,它不保证当前页面可以有一个与之关联的命名路由,如果相关:我们可以通过通用的"/:controller /:action /:id"路由到达那里.

ruby-on-rails

16
推荐指数
2
解决办法
8067
查看次数