私は、Rails3 アプリを pow (開発中) で実行し、Cramp アプリケーションをシンで実行しています。Rails で Cookie ベースのセッションを使用しています。Rails によって作成されたセッションに Cramp がアクセスできるようにしたいと考えています。
これを行う方法はありますか?私はRubyとRailsにかなり慣れていません。
ありがとう。
私は、Rails3 アプリを pow (開発中) で実行し、Cramp アプリケーションをシンで実行しています。Rails で Cookie ベースのセッションを使用しています。Rails によって作成されたセッションに Cramp がアクセスできるようにしたいと考えています。
これを行う方法はありますか?私はRubyとRailsにかなり慣れていません。
ありがとう。
さて、私はこれをSSEで機能させる方法を理解しましたが、私は現在、あなたが私を助けることができるかもしれない興味深い問題をデバッグしています。
そこで、次のApplicationActionを作成しました
class ApplicationAction < Cramp::Action
before_start :load_session
def load_session
session_id = request.cookies['_session_id']
@session = Session.where(:session_id => session_id).first
yield
end
end
これにより、すべての子アクションでRailsセッションを利用できるようになりました。次に、セッションモデル(ActiveRecordでクランプを使用)と次のモデルを追加しました。
class Session < ActiveRecord::Base
set_table_name :sessions
# Get the data on the sessions table
def data; Marshal.load(Base64.decode64(read_attribute(:data))); end
end
これは、Marshalでシリアル化されたすべてのクラスをインスタンス化できると仮定すると、実際には完全に機能します。それが私が問題になっているところです。これにより、Railsによってセッションデータにシリアル化されるときにActionDispatchで問題が発生します。
私は現在、より良い解決策を見つけようとしているところです。