我正在使用 Dragonfly 处理 Rails 3.1 应用程序上的图像。我正在努力通过 url 将图像分配给模型。
我有这个工作正常的形式:
<%= form_for [@word, @game, @picture], :html => {:multipart => true} do |f| %>
<%= f.hidden_field :retained_image %>
<p>
<%= f.label :image, "upload pic" %><br />
<%= f.file_field :image %>
</p>
<p>
<%= f.label :image_url, "or pic URL" %><br />
<%= f.text_field :image_url %>
</p>
<p>
<% if @picture.image_uid? %>
<label>Remove Picture?</label>
<%= f.check_box :remove_image %>
<% end %>
</p>
<p><%= f.submit %></p>
<% end %>
蜻蜓的文档指出:
Dragonfly 提供了一个访问器,用于直接从 url 分配:
@album.cover_image_url = 'http://some.url/file.jpg'
但是,当我在控制台中尝试时:
=> #<Picture id: nil, game_id: nil, user_id: nil, created_at: nil, updated_at: nil, image_uid: nil>
ruby-1.9.2-p290 > picture.image_url = "http://i.imgur.com/QQiMz.jpg"
=> "http://i.imgur.com/QQiMz.jpg"
ruby-1.9.2-p290 > picture
=> #<Picture id: nil, game_id: nil, user_id: nil, created_at: nil, updated_at: nil, image_uid: nil>
它似乎正在返回我试图提供给 Dragonfly 的 URL 字符串,而不是像表单中那样打开和拉取图像。
尝试根据 url 分配图像时,我是否遗漏了什么?看起来它应该很简单,但我似乎无法在 ruby 控制台中得到任何东西。