Rails2.1でSWFUploadを使うの続き。JSONでレスポンスの続き
この記事は、試行錯誤の経過です。まとめは、Rails2.1でSWFUploadを使うのまとめ - Paradigm Shift Designをご覧ください。
Rails2.1でSWFUploadを使うの続き。JSONでレスポンス - Paradigm Shift Designの続き。
どうも、railsにはto_jsonというメソッドがあるらしいことに気がついた。
contents.to_json {:error => "error!!"}.to_json
でいける。
しかし、SWF_Uploadとrestful_authenticationの組み合わせだとFireFoxではユーザーが特定できなかった。
動作させるためには、やっぱりSessionクラスに対するFixが必要で、
404 Not Foundのコメント欄にDavidさんという方が書き込んでいる、
#243653 - Pastie
をinitializersディレクトリに置き、コントローラーの先頭に
session :cookie_only => false, :only => :upload
と書いて、かつ、SWFUploadの設定のupload_pathに
upload_url: "<%= url_for :controller => 'contents', :action => 'upload' %>?_YourApplicationName_session=<%= u(session.session_id) %>",
と書く必要がある。_YourApplicationNameには、アプリケーション名を入れること。ただし、session_idを変えている場合にはこの限りではありません。
というわけで、これでもう問題ないのかな?
他の対処については、Rails2.1でSWFUploadを使う - Paradigm Shift Designを参考にしてください。