【发布时间】:2015-11-02 21:53:11
【问题描述】:
我正在使用 jquery 的 .ajax 方法在 rails api 上调用 ruby。 get 调用的主体包括一个布尔变量。然而,这个布尔变量不断被转换为 rails 端的字符串。我在发出请求时使用了正确的 contentType。
这是我的 javascript ajax 调用:
var postBody = {male: true}
var request = $.ajax({
method: "GET",
url: "/biographies/getAll",
dataType: 'json',
contentType: 'application/json',
data: postBody
});
在 Ruby on rails 控制器端,我正在使用:
params[:male]
但是 params[:male] 返回 "true" 字符串而不是 true 布尔值。
根据 Ruby on Rails api:
如果您的请求的“Content-Type”标头设置为“application/json”,Rails 会自动将您的参数转换为 params 哈希,您可以像往常一样访问它。 http://guides.rubyonrails.org/action_controller_overview.html#json-parameters
有谁知道为什么它不会将 json 请求转换为布尔值而是将其保留为字符串。
谢谢。
【问题讨论】:
标签: javascript jquery ruby-on-rails ruby