Carrierwave通过url获取图像

时间:2016-08-22 08:34:07

标签: ruby-on-rails ruby carrierwave image-upload

我需要通过网址获取一些图片。

网址与http://img.wallsbay.com/large/2014/05/2665.jpg类似,但2014年和2665年都在变化。

我的控制器有这个参数:

  def image_params
    params.require(:image).permit(:content, :remote_content_url, :id)
  end

我试图从这个网址获取图像:

@image.remote_content_url = 'http://img.wallsbay.com/large/#{:content}/05/#{:id}jpg'

但remote_content_url是未定义的方法。

3 个答案:

答案 0 :(得分:2)

我通过将attr_accessor :remote_content_url添加到我的图片模型中来解决此问题。

答案 1 :(得分:1)

获取图片网址的正确方法是@image.content.url,假设content是您用于Carrierwave的属性。

答案 2 :(得分:0)

remote_<attr_name>_url属性是按给定网址上传图片。

@model.remote_content_url = "http://img.wallsbay.com/large/2014/05/2665.jpg"
@model.save
@model.content_url // => "<upload-dir>/2665.jpg"

使用@model.content_url检索上传图片的网址。

要应用转化,请使用@model.content_url(:square)