Ruby 1.9에서 파일 (종이 클립 사용)을 업로드하려고 할 때 랙이 레일로 실패합니다.

StackOverflow https://stackoverflow.com/questions/1480416

  •  18-09-2019
  •  | 
  •  

문제

Ruby on Rails 응용 프로그램이 있습니다. Ruby 1.9와 Rails 2.3.4를 사용하고 있으며 사용자가 비디오를 업로드하여 Papricclip Gem을 설치했지만 Rack 에서이 오류가 발생합니다. 그것이 "유효하지 않은 바이트 시퀀스"라고 말하면 루비 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-trigging-a-invalid-byte-us-us-ascii/

본질적으로, 수정은 레일과 함께 제공되는 랙의 버전을 제거하고 Github에서 보석을 다시 설치하는 것입니다. 물론, 먼저 다른 컴퓨터에서 이것을 시도하고 싶을 수도 있습니다 ... :-)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top