2013-04-20 5 views
5

मैं रेल 3.2 के साथ strong_parameters मणि का उपयोग कर रहा हूँ। एक छवि अपलोड प्रक्रिया का परीक्षण करने के लिए, मैं मानकों के साथ एक इनकमिंग पोस्ट अनुरोध किया है:रैक :: टेस्ट :: अपलोड किए गए फ़ाइल को मजबूत पैरामीटर के साथ कैसे अनुमति दें?

{"photo"=>{"image"=>#<Rack::Test::UploadedFile:0x000000069ce1f8 @content_type="image/png", @original_filename="test.png", @tempfile=#<Tempfile:/tmp/test.png20130420-9529-1xuka4v-1>>, "status"=>"approved", "in_use"=>false}, "controller"=>"member/photos", "action"=>"create"} 

मैं कैसे काम के लिए छवि विशेषता की अनुमति कर सकते हैं? मैंने कोशिश की;

params.require(:photo).permit(:image) 

लेकिन यह काम नहीं करता है और Validation failed: Image can't be blank कहता है।

जब मैं params.require(:photo).permit! के साथ सभी पैरामीटरों को अनुमति देता हूं तो यह ठीक काम करता है।

+1

पर आपको कोई समाधान मिला? इसके साथ अटक गया, –

उत्तर

1
http://api.rubyonrails.org/classes/ActionController/Parameters.html से

PERMITTED_SCALAR_TYPES = [स्ट्रिंग, प्रतीक, NilClass, संख्यात्मक, TrueClass, FalseClass, तिथि, समय, StringIO, आईओ, ActionDispatch :: Http :: UploadedFile, रैक :: टेस्ट

params.require(:photo).permit(:image) 
: :: UploadedFile
]

तो आप बस एक अदिश प्रकार के रूप में यह अनुमति देने के लिए की जरूरत है

बस Rails 4.1.1

+0

रेल 4.1.1 के साथ तय की गई समस्या की तरह लगता है। –

+0

यह एक साल पहले '4.0.0' में तय किया गया था https://github.com/rails/rails/pull/9357 – freemanoid

+0

मैंने हाल ही में समस्या की फिर से जांच की है, इसलिए मुझे यकीन नहीं है कि यह कब तय किया गया था। मुझे लगता है कि जब मुझे इस समस्या का सामना करना पड़ा तो रेल 4.0 अभी भी नया था। –

संबंधित मुद्दे