1

良い一日、

私は最近、 Stickミドルウェアと一緒にRingoJSで遊び始めましたが、今はセッションで立ち往生しています。私はそれを機能させることができません。

main.js

var {Application} = require( "./_lib_/stick" ),
    app = exports.app = Application();

app.configure( "mount" );
app.mount( "/", require( "./actions" ) );

if ( require.main === module ) {
    require( "ringo/httpserver" ).main( module.directory );
}

アクション.js

var {Application, helpers} = require( "./_lib_/stick" ),
    Response = require( "ringo/jsgi/response" );

export( "app" );

var app = Application();

app.configure( "route", "render", "session" );
app.render.base = module.resolve( "templates" );
app.render.master = "page.html";

app.get("/session.htm", function( request ) {
    //request.session.data.foo = "bar";
    request.session.data.put("foo", "bar");

    return Response.redirect( "session2.htm" );
});

app.get("/session2.htm", function( request ) {
    var value = request.session;

    return Response.html( "Session: " + value );
});

私は多くの組み合わせをテストしましたが、どれも期待どおりに機能しませんでした。

私が得るほとんどのエラーは、セッションからのデータの読み取りに関するものです。例えば:

TypeError:未定義からプロパティ「データ」を読み取ることができません

任意のヒント?

4

1 に答える 1

2

"session""mount"で前に来る必要がありますapp.configure

main.jsの4行目:

app.configure( "session", "mount" );

次に、ミドルウェアを2回実行しても意味がないため"session"、後の呼び出しから削除します。app.configure

于 2011-11-16T03:00:14.780 に答える