Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>OK.</p> <h1>Step 1</h1> <p>add <code>gem 'carrier wave'</code> to you Gemfile</p> <h1>Step 2</h1> <p>save the code to <code>/lib/flash_session_cookie_middleware.rb</code> </p> <pre><code>require 'rack/utils' class FlashSessionCookieMiddleware def initialize(app, session_key = '_session_id') @app = app @session_key = session_key end def call(env) if env['HTTP_USER_AGENT'] =~ /^(Adobe|Shockwave) Flash/ req = Rack::Request.new(env) env['HTTP_COOKIE'] = [ @session_key, req.params[@session_key] ].join('=').freeze unless req.params[@session_key].nil? env['HTTP_ACCEPT'] = "#{req.params['_http_accept']}".freeze unless req.params['_http_accept'].nil? end @app.call(env) end end </code></pre> <h1>Step3</h1> <p>edit <code>session_store.rb</code> add the code to the end of file</p> <pre><code>Rails.application.config.middleware.insert_before( ActionDispatch::Session::CookieStore, FlashSessionCookieMiddleware, Rails.application.config.session_options[:key] ) </code></pre> <h1>Step4</h1> <p>Download jquery.uploadify.js from <a href="http://www.uploadify.com/wp-content/uploads/uploadify-v2.1.4.zip" rel="nofollow noreferrer">Uploadify</a> and unzip it.</p> <h1>Step5</h1> <ol> <li>Copy <code>jquery.uploadify.v2.1.4.min.js</code> &amp; <code>swfobject.js</code> to <code>/app/assets/javascripts</code> if you use Rails3.1 or later, to <code>/public/javascripts</code> if you use Rails 3.0 or before version.</li> <li>Copy <code>uploadify.swf</code> and <code>cancel.png</code> to <code>/app/assets/images/</code> or <code>/public/images</code></li> <li>Copy <code>uploadify.css</code> to <code>/app/assets/stylesheets/</code> or <code>/public/stylesheets</code></li> </ol> <h1>Step6</h1> <p>Edit your application.js, insert below code to it</p> <pre><code>//= require swfobject //= require jquery.uploadify </code></pre> <h1>Step7</h1> <p>In you upload page, add this</p> <pre><code>&lt;input id="uploadify" name="uploadify" type="file" /&gt; </code></pre> <h1>Step8</h1> <p>add this code to you upload page</p> <pre><code>$(document).ready(function() { &lt;% key = Rails.application.config.session_options[:key] %&gt; var uploadify_script_data = {}; var csrf_param = $('meta[name=csrf-param]').attr('content'); var csrf_token = $('meta[name=csrf-token]').attr('content'); uploadify_script_data[csrf_param] = encodeURI(encodeURIComponent(csrf_token)); uploadify_script_data['&lt;%= key %&gt;'] = '&lt;%= cookies[key] %&gt;'; $('#uploadify').uploadify({ uploader : '/assets/uploadify.swf', script : '/photos', cancelImg : '/images/cancel.png', auto : true, multi : true, removeCompleted : true, scriptData : uploadify_script_data, onComplete : function(event, ID, fileObj, doc, data) { } }); }); </code></pre> <h1>Step9</h1> <p>Write your controller like this</p> <pre><code>def create @photo = Photo.new(:image =&gt; params[:Filedata]) @photo.save end </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload