Ruby的发布字段,因为before_validation中的JSON为JSON

安迪·雷(Andy Ray)

编辑:这是POST数据和ruby日志:

Ruby日志:

Started PUT "/things/1" for 127.0.0.1 at 2014-10-28 10:54:32 -0700
Processing by ThingController#update as JSON
Parameters: {
    "name"=>"Name",
    "image_data"=>"data:image/png;base64,iVBORw0KG...",
    "id"=>"1",

    "Thing" => {
        "name"=>"Name"
    }
}

发布的JSON数据:

{
    "name":"Name",
    "image_data":"data:image/png;base64,iVBORalksdfj"
}

为什么ruby日志显示完整的数据,然后为什么Thing缺少我发送的额外字段?


我的更新控制器允许将此字段命名为 image_data

class ThingController < ApplicationController
    respond_to :html, :json

    def update
        @thing.update(thing_params)
        respond_with(@thing)
    end

    def thing_params
        params.require(:thing).permit(:name, :image_data) # allow it here
    end
end

image_data字段实际上不在模型上,但是我为其创建了一个accesor:

class Thing < ActiveRecord::Base

    attr_accessor :image_data
    before_validation :decode_base64_image

    def decode_base64_image
        # Always empty!
        logger.debug image_data

        if image_data
            # Never gets here
        end
    end

end

image_data永远不会在注释行上设置。是什么赋予了?如何在验证器中访问一个字段(image_data)并将其按摩到另一个字段(实际上在模型上?)。

西瓦

更改您的POST json结构,例如

{    
    "Thing" : {
        "name" : "Name",
        "image_data" : "data:image/png;base64,iVBORw0KG..."
    }
}

所以image_data将是Thing

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

跳过before_validation:在测试中创建

来自分类Dev

before_validation没有被调用?

来自分类Dev

before_validation方法不起作用

来自分类Dev

rails 模型回调 before_validation

来自分类Dev

正在销毁`before_validation`回调错误代码中的持久记录吗?

来自分类Dev

在::create或在::save上的rails 4 before_validation

来自分类Dev

如何从ruby中的activerecord返回to_json中的“类型”字段?

来自分类Dev

如果字段为空并且字段为必填,请防止在json中删除字段

来自分类Dev

如果字段为空并且字段为必填,请防止在json中删除字段

来自分类Dev

按 ruby Sequel/Postgres 中的 json 字段排序

来自分类Dev

解析json以检查bash中的字段是否为空

来自分类Dev

从oracle 12.1中查询字段值为“。”的json数据。

来自分类Dev

如何检查JSON中的字段是否为null?

来自分类Dev

SQL 存储为 JSON 与向表中添加字段

来自分类Dev

将大量数据存储为单个 JSON 字段 - 将重要字段提取到自己的字段中?

来自分类Dev

在Windows中为Ruby安装json gem时出错

来自分类Dev

使用JSweet将地图发布为JSON

来自分类Dev

将 httpbody 发布为 json 参数 swift

来自分类Dev

如何检查烧瓶reqparse中的空JSON字段以获取发布请求?

来自分类Dev

在ruby中,如何将json中包含的json数组解析为类?

来自分类Dev

如何在后端使用Ruby on Rails在发布请求中访问嵌套的json参数

来自分类Dev

如何让Spark将JSON转义的String字段解析为JSON对象,以推断DataFrames中的适当结构?

来自分类Dev

ruby:从嵌套的json中提取字段

来自分类Dev

在SQL字段中为每个JSON元素选择一行/将JSON字段转换为行

来自分类Dev

ActiveRecord :: Base before_validation没有条件触发

来自分类Dev

在validate_uniqueness_of之前使用before_validation修改值-SystemStackError:堆栈级别太深

来自分类Dev

Rails 4.使用before_validation回调时的奇怪行为

来自分类Dev

如何在Elasticsearch中为格式为JSON的文件创建带有整数字段的索引?

来自分类Dev

当json字段为可选时使用SprayJson

Related 相关文章

  1. 1

    跳过before_validation:在测试中创建

  2. 2

    before_validation没有被调用?

  3. 3

    before_validation方法不起作用

  4. 4

    rails 模型回调 before_validation

  5. 5

    正在销毁`before_validation`回调错误代码中的持久记录吗?

  6. 6

    在::create或在::save上的rails 4 before_validation

  7. 7

    如何从ruby中的activerecord返回to_json中的“类型”字段?

  8. 8

    如果字段为空并且字段为必填,请防止在json中删除字段

  9. 9

    如果字段为空并且字段为必填,请防止在json中删除字段

  10. 10

    按 ruby Sequel/Postgres 中的 json 字段排序

  11. 11

    解析json以检查bash中的字段是否为空

  12. 12

    从oracle 12.1中查询字段值为“。”的json数据。

  13. 13

    如何检查JSON中的字段是否为null?

  14. 14

    SQL 存储为 JSON 与向表中添加字段

  15. 15

    将大量数据存储为单个 JSON 字段 - 将重要字段提取到自己的字段中?

  16. 16

    在Windows中为Ruby安装json gem时出错

  17. 17

    使用JSweet将地图发布为JSON

  18. 18

    将 httpbody 发布为 json 参数 swift

  19. 19

    如何检查烧瓶reqparse中的空JSON字段以获取发布请求?

  20. 20

    在ruby中,如何将json中包含的json数组解析为类?

  21. 21

    如何在后端使用Ruby on Rails在发布请求中访问嵌套的json参数

  22. 22

    如何让Spark将JSON转义的String字段解析为JSON对象,以推断DataFrames中的适当结构?

  23. 23

    ruby:从嵌套的json中提取字段

  24. 24

    在SQL字段中为每个JSON元素选择一行/将JSON字段转换为行

  25. 25

    ActiveRecord :: Base before_validation没有条件触发

  26. 26

    在validate_uniqueness_of之前使用before_validation修改值-SystemStackError:堆栈级别太深

  27. 27

    Rails 4.使用before_validation回调时的奇怪行为

  28. 28

    如何在Elasticsearch中为格式为JSON的文件创建带有整数字段的索引?

  29. 29

    当json字段为可选时使用SprayJson

热门标签

归档