如何为mount_base64_uploader列设置模型值?

时间:2016-11-22 16:51:33

标签: ruby-on-rails base64 carrierwave

我尝试在创建列之前将我的图像列(base64图像)设置为一个值,但似乎它不起作用。

我用它作为我的图像base64上传器 https://github.com/lebedev-yury/carrierwave-base64

这是我的模特

mount_base64_uploader :profile_image, PictureUploader
before_create :default_profile_image

private

  def default_profile_image
    self.profile_image = Base64.encode64(open("http://www.novotelbangkokploenchit.com/wp-content/uploads/2015/10/top-10-things-to-do-in-Bangkok.jpg").read).gsub("\n", '')
  end

所以这是我的控制器

user = User.new(user_params)
  if user.save
    user.remember_auth_token
    render json: user, status: 201 ,serializer: UserSerializer
  else
    render json: { errors: user.errors }, status: 422
  end

这是我从网络工作回复中得到的

"user":{  
      "id":9,
      "email":"xxxxx@hotmail.com",
      "profile_image":{  
         "profile_image":{  
            "url":null
         }
      }
   }

那么我该怎么做呢?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为您可以在迁移中使用默认值: t.string:url,默认:“myimage.jpg”。