Carrierwave с Uploadify дает неопределенный метод `has_key?' ошибка

Рельсы 3.1, ActiveRecord, JQuery

Я использую Carrierwave для загрузки изображения в модель с помощью AWS S3. Очень просто, всего одно изображение на модель. Я хочу использовать с ним Uploadify.

Без Uploadify работает нормально, но с ним получаю ошибку:

NoMethodError (undefined method `has_key?' for #<ImageUploader:0x00000103c7f2f0>):

Код загрузчика работает сам по себе, и я следовал этот пост, чтобы попытаться заставить Uploadify работать. Затем я использовал этот код для позаботьтесь о проблеме CSRF.

Код для настройки Uploadify в edit.html.erb:

<% content_for :head do %>
  <%= javascript_include_tag 'jquery.uploadify.v2.1.4.min' %>
  <%= javascript_include_tag 'swfobject' %>
<% end %>
<%= content_for :scripts do %>
  <script type="text/javascript">
  <% session_key_name = Rails.application.config.session_options[:key] %>
    jQuery('input#facility_image').uploadify({
      'uploader'     : '/assets/uploadify.swf',
      'script'       : '<%=facilities_path%>',
      'fileDataName' : 'facility[image]',
      'fileExt'      : '*.png;*.jpg;*.gif',
      'cancelImg'    : '/assets/cancel.png',
      'multi'        : false,
      'scriptData'   :  {
           '_http_accept': 'application/javascript',
           '<%= session_key_name %>' : encodeURIComponent('<%= u cookies[session_key_name] %>'),
           'authenticity_token': encodeURIComponent('<%= u form_authenticity_token %>'),
        },
      'auto'         : true,
      'buttonText'   : 'Upload Image',
      'onComplete'   : function(e, id, obj, response, data) {
        $('#images').append(response);
      }
    });
  </script>
<% end%>

Кто-нибудь знает, почему эта ошибка происходит и / или как ее исправить?


person MasonMc    schedule 10.02.2012    source источник


Ответы (1)


Если вы используете devise, это лучшее решение http://ariejan.net/2011/03/27/rails-3-devise-uploadify-no-flash-session-hacks

person Kyle C    schedule 12.04.2012