【发布时间】:2013-09-03 00:14:30
【问题描述】:
我试图在更新对象之前从参数中删除一个属性,但我没有成功。
Params 包含一个对象 Post,我想从中删除 image_url:
{
"post" : "{
\"content\" : \"dfsgdfa\",
\"created_at\" : \"2013-09-01T08:39:26Z\",
\"id\" : 21,
\"image_content_type\" : \"image/jpeg\",
\"image_file_name\" : \"img.jpg\",
\"image_file_size\" : 61140,
\"image_updated_at\" : \"2013-09-01T08:39:26Z\",
\"title\" : \"sdsdsdd\",
\"updated_at\" : \"2013-09-01T08:39:26Z\",
\"user_id\" : 4,
\"image_url\" : \"/system/posts/images/000/000/021/original/img.jpg?137802476
\"}",
"image" : "null",
"action" : "update",
"controller" : "posts",
"id" : "21"
}
所以我确实喜欢这样:
params[:post].delete("image_url")
没有引发错误,但 image_url 仍在 params[:post]
如何删除?
【问题讨论】:
-
尝试拒绝而不是删除,您可能需要查找两种方法的文档。
-
这既不是字符串也不是散列。它看起来像一个带有
post值的哈希字符串,但它是语法错误。帖子的最后一行应该是\"},而不是\"}",请仔细检查并发布正确的数据。
标签: ruby-on-rails ruby activerecord attributes updatemodel