Display only the desired parameters

2019-03-03 14:02发布

问题:

I created an app following this tutorial (without scaffolding).

After I create an item I can click on it and it shows me a big list of parameters. Like here: http://s15.postimage.org/j6at9koiz/parameters.png .

The code which does that is:

<% if (todos && todos.length) { %>
  <% for (var i in todos) { %>
  <div class="row todo-item">
    <div class="span8">
        <h3><%- linkTo(todos[i].title, todoPath(todos[i].id)) %></h3>
    </div>
    <div class="span4"><h3><i class="icon-list-alt"></i><%= todos[i].status; %></h3></div>
  </div>
  <% } %>
<% } %>

To be more specific, the following line is the one which displays the links with the titles which take me to the list of the parameters for each item:

<%- linkTo(todos[i].title, todoPath(todos[i].id)) %>

Can I do something to display only some of the parameters and not the entire list which is displayed now?

Thank you!

回答1:

You need to add view files for todo resource. If you're scaffolding, then geddy creates them by default. But otherwise, you have to add view files for todo in app/views/todos.

View files

  • _form.html.ejs
    • edit/new form
  • add.html.ejs
    • new resource view
    • /todos/add
  • edit.html.ejs
    • edit view
    • /todos/:id/edit
  • index.html.ejs
    • index view
    • /todos
  • show.html.ejs
    • show individual resource
    • /todos/:id

You can edit them manually. For changing how a individual todo item should appear on /todos/:id route, edit show.html.ejs

<div class="hero-unit">
  <%- linkTo('Edit this todo', editTodoPath(params.id), {class: 'btn pull-right'}); %>
  <h3>Params</h3>
  <ul>
    <li>todo.title</li>
    <li>todo.property1</li>
    <li>todo.property2</li>
  </ul>
</div>


标签: node.js geddy