के साथ यूआरएल से छवि असाइन करना मैं रेल 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 %>
Dragonfly के दस्तावेज़ कहता है:
Dragonfly एक यूआरएल से सीधे असाइन करने के लिए एक्सेसर प्रदान करता है: अभी तक जब
@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>
ऐसा लगता है कि मैं उस URL की स्ट्रिंग को वापस कर रहा हूं जिसे मैं ड्रैगनफ्लाई को देने की कोशिश कर रहा हूं, फॉर्म को खोलने और खींचने की कोशिश नहीं कर रहा हूं।
क्या यूआरएल के आधार पर छवि को असाइन करने का प्रयास करते समय मुझे कुछ याद आ रही है? ऐसा लगता है कि यह बहुत सीधे आगे होना चाहिए लेकिन मुझे रूबी कंसोल में काम करने के लिए कुछ भी नहीं मिल रहा है।
सबसे पहले, अद्भुत मणि के लिए धन्यवाद मार्क। दूसरा, वाह मैं मूर्खतापूर्ण महसूस करता हूँ। मैं कुछ fetching और कुछ ऐसा कर रहा था: picture.save अगर तस्वीर.image_uid # जाहिर है यह काम नहीं करेगा और मैंने पूरी तरह से पर्याप्त परीक्षण नहीं किया। धन्यवाद एक टन, महान काम करता है। – Kombo