1

私は、Rails3 アプリを pow (開発中) で実行し、Cramp アプリケーションをシンで実行しています。Rails で Cookie ベースのセッションを使用しています。Rails によって作成されたセッションに Cramp がアクセスできるようにしたいと考えています。

これを行う方法はありますか?私はRubyとRailsにかなり慣れていません。

ありがとう。

4

1 に答える 1

0

さて、私はこれを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で問題が発生します。

私は現在、より良い解決策を見つけようとしているところです。

于 2012-12-21T00:31:46.307 に答える