【发布时间】:2014-12-13 03:34:40
【问题描述】:
我在 Rails 应用程序中有一个大型数据模型,我正在尝试使其可序列化并输出到 JSON。我在模型上定义了#serializable_hash 方法并将一些属性列入黑名单。我的目标是将控制器层上的属性列入白名单,以接受相同的结构,并简单地忽略我不希望“可访问”的值。
当我PUT update 使用上述 JSON 时,一个这样的属性给我带来了麻烦。解析请求参数时出错:
SyntaxError (/Users/brad/.rvm/gems/ruby-1.9.3-p194@project-rails32/gems/actionpack-3.2.13/lib/action_dispatch/http/request.rb:261: syntax error, unexpected tINTEGER, expecting $end
...02933", "software_date"=>"09/05/14", "software_version"=>"10...
... ^):
# stack trace...
就 Rails 而言,这只是一个字符串,对吧?为什么这里期望输入结束?作为记录,在提交我的请求之前删除此属性会导致更新成功,所以我确定这是导致问题的原因。
【问题讨论】:
标签: ruby-on-rails json