Carrierwave с Uploadify дает неопределенный метод has_key? ошибка - PullRequest
1 голос
/ 10 февраля 2012

Rails 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%>

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

1 Ответ

0 голосов
/ 13 апреля 2012

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

...