2013-04-04 2 views
1

Я использую шаблон EJs в Node.js, и у меня есть проблемы с маршрутами, так, напримеркак изменить шаблон EJs в Node.js, чтобы избежать этой ситуации

У меня есть два HTML-файлы, дом .html и list.html, которые загружают файл list.ejs, чтобы показать тот же контент - список пользователей.

home.html

<div class="container-fluid content"> 
    <% include users/list %>   
</div> 

list.html

<div class="container-fluid content"> 
    <% include course/list %>  
</div> 

list.ejs

<article> 
     <h2><a href="user/<%= user._id %>" ></a><%= user.title %></h2> 
     <p> 
      <a href="user/<%= user._id %>" >@waynespiegel</a><%= user.description %> 
     </p> 
    </article> 

однако, возникает проблема, что home.html и list.html находятся в другом URL-адресе, URL-адрес home.html: '/', а URL-адрес home.html - 'пользователь/недавний'.

так, если я нажимаю "> <% = user.title%> на странице home.html, это правильно прыгать на нужную страницу, /пользователь /„идента“. Но когда дело доходит до списка .html, ссылка становится /пользователь/пользователь/«идентификатор пользователя», что неправильно

поэтому мой вопрос, как я могу изменить EJS, чтобы избежать этой ситуации.

ответ

1

Если вы положили косую черту в начале URL-адреса, вы делаете ее относительно базового url. Обычно это ваш домен.

<article> 
    <h2><a href="/user/<%= user._id %>" ></a><%= user.title %></h2> 
    <p> 
     <a href="/user/<%= user._id %>" >@waynespiegel</a><%= user.description %> 
    </p> 
</article> 
+0

Спасибо, Андреас. хорошо знать трюк – user824624

1

Вот ваши новые list.ejs :

<article> 
    <h2><a href="/user/<%= user._id %>" ></a><%= user.title %></h2> 
    <p> 
     <a href="/user/<%= user._id %>" >@waynespiegel</a><%= user.description %> 
    </p> 
</article> 

Без ведущего/в ваших ссылках вы обращались к относительному пути, теперь вы имеете дело с абсолютным путем (то есть: начиная с вашего корня сервера).

Смежные вопросы