2013-09-11 5 views
0

Я принимал tutorial онлайн на рельсах, но я застрял. Это мой контроллер и просматривать файлы:Застрял, выполнив мои первые рельсы app

/app/controllers/todos_controller.rb:

class TodosController < ApplicationController 
    def index 
    @todo_array = [ "Buy Milk", "Buy Soap", "Pay bill", "Draw Money" ] 

    end 
end 

/app/views/todos/index.html.erb:

<title>Shared Todo App </title> 
<h1>Shared Todo App</h1> 
<p>All your todos here</p> 
<ul> 
    <% @todo_array.each do |t| %> 
    <li> #todo item here </li> 
    <% end %> 
</ul> 

мне нужно изменить код #todo item here, чтобы показать фактический элемент Todo из массива. Таким образом, я получаю выход как:

Shared Todo App 

All your todos here 

- Buy Milk 
- Buy Soap 
- Pay bill 
- Draw Money 
+0

'<% @ todo_array.each делать | т | %>

  • <%= t %>
  • <% end %> ' –

    +0

    <% @ todo_array.each do | t | %>

  • <%= t %>
  • <% end %> –

    ответ

    0
    <title>Shared Todo App </title> 
    <h1>Shared Todo App</h1> 
    <p>All your todos here</p> 
    <ul> 
        <% @todo_array.each do |t| %> 
        <li> <% t %> </li> 
        <% end %> 
    </ul> 
    

    Но так как вы застрять на этой части, я предлагаю вам начать с другой учебник или книгу, то, что объясняет немного больше о том, что вы делаете и почему. http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

    0

    Переменные экземпляра в вашем контроллере передаются как переменные экземпляра в вашем представлении.

    Контроллер:

    @todo_array = [ "Buy Milk", "Buy Soap", "Pay bill", "Draw Money" ] 
    

    Вид:

    <% @todo_array.each do |t| %> 
        <li> <%= t %> </li> 
        <% end %> 
    
    0

    Просто замените комментарий на <%= t %>. Rails автоматически отображать каждое значение массива:

    <% @todo_array.each do |t| %> 
        <li><%= t %></li> 
    <% end %> 
    
    0

    В соответствии с учебным пособием и небольшой рубиновой демонстрацией было упомянуто, что Доступ к каждому элементу массива с использованием блоков. arr.each { |a| puts a } печатает все элементы массива.

    Однако для этого необходимо отправить <%= t %>.

    Так что ваш последний кусочек кода будет:

    <% @todo_array.each do |t| %> 
        <li> <%= t %> </li> 
        <% end %>