Kom*_*mbo 5 ruby ruby-on-rails paperclip ruby-on-rails-3 dragonfly-gem
我正在使用Dragonfly处理Rails 3.1应用程序上的图像.我正在努力通过网址将图像分配给模型.
我有一个工作正常的形式:
<%= 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 %>
Run Code Online (Sandbox Code Playgroud)
Dragonfly的文档说明:
Dragonfly提供了一个直接从url分配的访问器:
@album.cover_image_url = 'http://some.url/file.jpg'
Run Code Online (Sandbox Code Playgroud)
但是当我在我的控制台中尝试时:
=> #<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>
Run Code Online (Sandbox Code Playgroud)
它似乎返回了我试图给予Dragonfly的URL的字符串,而不是像在表单中那样打开和拉动图像.
在尝试根据网址分配图像时,我是否缺少某些内容?看起来它应该非常直接但我似乎无法在ruby控制台中工作.
你确定它不起作用吗?键入时会发生什么(从URL分配后)
picture.image
Run Code Online (Sandbox Code Playgroud)
要么
picture.image.size
Run Code Online (Sandbox Code Playgroud)
例如?
在保存之前它不会设置image_uid,但是你可以使用picture.image.
从url实际获取是懒惰地发生,即仅在需要时.例如,调用'size'会触发它.
| 归档时间: |
|
| 查看次数: |
3553 次 |
| 最近记录: |