2017-10-18 5 views
0

私のプロジェクトには複数のレイアウトがあり、これらのレイアウトを含むフォルダを作成してビューフォルダから取り出そうとしますが、実行するとレイアウトはロードされませんアプリケーション。セイルjsレイアウトビューの変更フォルダ

どうすればこの問題を解決できますか?

Txです。

答えて

1

これを解決するには、ルートまたはコントローラを使用してビューを配信するかどうかによって、2つのオプションがあります。

まず、ビューフォルダに「mylayouts」というフォルダがあり、このフォルダには多数のレイアウトが含まれているとします。 「layout_home.ejs」、「layout_admin.ejs」など

特定のビューのためにこれらのレイアウトを使用するには、次のことができます。

A.があること、のconfig/routes.jsファイルに地元の人々を使用してレイアウトを設定します。フォルダ名とレイアウトファイル名の両方を含めるようにしてください。例えば。

'/': { 
    view: 'homepage', 
    locals: { 
     layout: '/mylayouts/layout_home.ejs' 
    } 
} 

B.コントローラーからの応答でレイアウトを設定し、再度フォルダー名とレイアウトファイル名の両方を含めるようにしてください。例えば。

/** 
* AdminController 
* 
* @description :: Server-side logic for managing admins 
* @help  :: See http://sailsjs.org/#!/documentation/concepts/Controllers 
*/ 

module.exports = { 

    index : function(req, res){ 
     res.view({ 
      layout : '/mylayouts/layout_admin.ejs' 
     }) 
    } 

}; 
+0

各ビューのルートを作成しますか?私はこれが私の問題を解決するための最良の方法だとは思わない、 – krekto

+0

オプションBを見てください。 – Glen

+0

は私のレイアウトを持っている私のview.jsファイルで動作しません:レイアウト: 'layout'、 'get/index ':{ view:' homepage/index '、 locals:{ レイアウト:' layout_homepage ' } }、 – krekto

関連する問題