簡體   English   中英

當我嘗試在Ruby 1.9上上傳文件(使用回形針)時,Rack會因Rails而失敗

[英]Rack fails with Rails when I try to upload file (using paper clip) on Ruby 1.9

我有一個Ruby on Rails應用程序,正在使用Ruby 1.9和Rails 2.3.4,我希望用戶上傳視頻,所以我安裝了Paperclip gem,但從Rack收到此錯誤。 它說它是“無效的字節序列”的事實使我懷疑它來自Ruby 1.9。

有任何想法嗎?

謝謝,

Rendering posts/new
Rendered posts/_form (4.5ms)
Rendered layouts/_footer (13.5ms)
Completed in 238ms (View: 161, DB: 8) | 200 OK [http://localhost/posts/new]
/!\ FAILSAFE /!\  2009-09-25 17:26:06 -0700
  Status: 500 Internal Server Error
  invalid byte sequence in US-ASCII
    /Users/tammam56/.gem/ruby/1.9.1/gems/rack-1.0.0/lib/rack/utils.rb:324:in `=~'
    /Users/tammam56/.gem/ruby/1.9.1/gems/rack-1.0.0/lib/rack/utils.rb:324:in `block in parse_multipart'
    /Users/tammam56/.gem/ruby/1.9.1/gems/rack-1.0.0/lib/rack/utils.rb:319:in `loop'
    /Users/tammam56/.gem/ruby/1.9.1/gems/rack-1.0.0/lib/rack/utils.rb:319:in `parse_multipart'
    /Users/tammam56/.gem/ruby/1.9.1/gems/rack-1.0.0/lib/rack/request.rb:141:in `POST'

表格:

<% form_for @post, :html => {:multipart => true} do |f| %>
    <table width='100%' border="1">
        <tr>
            <td colspan="2">
                <h2>Post your Story</h2>
            </td>
        </tr>   
        <tr>
            <td nowrap="nowrap" width="20%">
                <p class="new_post_labels">I'm single bacause </p>
                <div id='ErrorMessage_title'></div>
            </td>
            <td>
                <%= f.text_field :title, :class => "grayInput fromInputPost", :maxLength =>100, :size => "50" %>
            </td>       
        </tr>   
        <tr>
            <td nowrap="nowrap" width="20%" valign="top">
                <p class="new_post_labels">Story Details (maximum 500 characters) </p>
                <div class="char_counter_new" id='actual_msg_count'>0/500</div>
                <div id='ErrorMessage_description'></div>               
            </td>
            <td>
                <%= f.text_area :description, :id => 'the_message_textarea', :size => "45x5", :class => "grayInput fromInputPostArea", :onkeyup => "calculate_msg_char_counter();", :id => "the_message_textarea" %>                                        
            </td>       
        </tr>       
        <tr>
            <td nowrap="nowrap" width="20%">
                <p class="new_post_labels">Video URL(optional - 90 seconds max)</p>
            </td>
            <td>
                <%= f.file_field :video %>
                <%= f.text_field :video_link, :class => "grayInput fromInputPost", :maxLength =>255, :size => "50" %>
            </td>       
        </tr>
        <tr>
            <td>
            </td>
            <td align="left" nowrap="nowrap">
                <p class="new_post_labels"><%= f.check_box :is_notify_when_comment %>Email me when someone comments on my story</p>
            </td>
        </tr>   
        <tr>
            <td></td>
            <td>
                <input type="button" value="Submit the Story" class="btnSubmitNewUser" onClick="validate_fields(this.form);" />&nbsp;
            </td>
        </tr>
    </tabl

e>

看起來這里有一個答案:

http://rubynyc.wordpress.com/ruby-1-9-1/paperclip-triggering-a-invalid-byte-sequence-in-us-ascii/

本質上,解決方法是卸載Rails隨附的Rack版本並從github重新安裝gem。 當然,您可能想先在另一台機器上嘗試... :-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM