サーチ…


備考

ルートとは、入ってくるリクエストに直面したときに何をすべきかをSailsに伝えるルールです。

ルートはconfig/routes.js定義されています。ルートの順序は、ルートがトップダウンに一致するため、重要です。つまり、特定のルートがワイルドカードルートと一致する可能性がある場合、特定のルートはワイルドカードルートの上に定義する必要があります。

リクエストがアプリケーションに入力されると、sails.jsはそれに付属するすべてのパラメータを取得し、リクエストオブジェクトのparamsとして利用可能にします。


ルートターゲットオブジェクトのプロパティは、req.optionsオブジェクトのルートハンドラに渡されます。以下は、ルートハンドラの動作に影響する可能性のある予約済みのプロパティです。

プロパティ適用可能なターゲットタイプデータ・タイプ詳細
スキップアセット すべてブールルートにドットを含むURLを一致さたくない場合はtrue設定しtrue (例:myImage.jpg)。これにより、ワイルドカード表記で経路を静的資産の一致するURLから保護します。 URLスラッグを作成する場合に便利です。
skipRegex すべて正規表現ドットを含むすべてのURLをスキップするのが許容できない場合や、異なる条件に基づいてスキップされるルートのハンドラが必要な場合は、 skipRegexを使用できます。このオプションを使用すると、要求URLに一致する正規表現または正規表現の配列を指定できます。いずれかの一致が成功した場合、ハンドラはスキップされます。ハンドラを正規表現でバインドする構文とは異なり、 skipRegexは文字列ではなく実際のRegExpオブジェクトをskipRegexすることに注意してください。
地元の人々 コントローラ、ビュー、青写真、レスポンス辞書要求を処理する際にレンダリングされるすべてのビューに渡すように、デフォルトのローカル変数を設定します。
コルス すべて辞書またはブール値または文字列異なるルートからのこのルートの要求を処理する方法を指定します。
人口 青写真ブール 「find」または「findOne」青写真アクションの結果に、関連するモデルフィールドが設定されている必要があるかどうかを示します。デフォルトでは、 config/blueprints.js設定されている値になります。
スキップ制限並べ替えどこで 青写真辞書 「発見」青写真の基準を設定します。

カスタムRESTfulルート定義

module.exports.routes = {
    'GET /foo': 'FooController.index',
    'GET /foo/new': 'FooController.new',
    'POST /foo/create': 'FooController.create',
    'GET /foo/:id/edit': 'FooController.edit',
    'PUT /foo/:id/update': 'FooController.update',
    'GET /foo/:id': 'FooController.show',
    'DELETE /foo/:id': 'FooController.delete',
};

リダイレクト

module.exports.routes = {
  '/foo': '/bar',
  'GET /google': 'http://www.google.com'
};

すべてのビューのカスタム変数を定義する

module.exports.routes = {
  // This function will be executed for all http verbs on all urls
  'all /*', function (req, res, next) {
    // Expose the function `fooBar` to all views (via the locals object)
    res.locals.fooBar = function (arg1) {
      return 'foobar' + arg1;
    };
  },
};

ワイルドカードルートからアセットをスキップする(ドットが入ったURL)

module.exports.routes = {
  'GET /foo/*': {
     fn: function(req, res) {
       res.send("FOO!");
     },
     skipAssets: true
  },
};

正規表現による経路

module.exports.routes = {
    // sends matching regex (few patterns) as 'page' param
    'r|/foo/([0-9]+)|page': 'FooController.get',
    'r|/foo/(.*)|page': 'FooController.get',
    'r|/foo/(\\w+)|page': 'FooController.get'
};

URLスラッグ

module.exports.routes = {
  'GET /blog/:year/:month/:day/:posttitle/': 'BlogController.showPost',
  'GET /blog/:year/:month/:day/': 'BlogController.showDayArchive',
  'GET /blog/:year/:month/': 'BlogController.showMonthArchive',
  'GET /blog/:year/': 'BlogController.showYearArchive',
};

req.param('year')req.param('month')などを使用して、対応するコントローラアクションでURLに渡されたパラメータにアクセスできます。

たとえば、 /blog/2016/08/ BlogController.showMonthArchive /blog/2016/08/へのGETリクエストは、 req.param('year')の値が2016req.param('month')の値が08あるBlogController.showMonthArchiveコントローラアクションをトリガーします。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow