0

我在rails上在线学习教程,但我被卡住了。这些是我的控制器和视图文件:

/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以显示数组中的实际待办事项。所以我得到输出:

Shared Todo App

All your todos here

 - Buy Milk 
 - Buy Soap
 - Pay bill
 - Draw Money
4

4 回答 4

0

根据教程和小红宝石演示,提到 使用块访问数组的每个元素。arr.each { |a| puts a }打印数组的所有元素。

但是,您只需要通过<%= t %>代替评论即可。

所以你的最后一段代码将是:

  <% @todo_array.each do |t| %>
    <li> <%= t %> </li>
  <% end %>
于 2015-02-18T12:06:50.320 回答
0

控制器中的实例变量在视图中作为实例变量传递。

控制器:

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

看法:

<% @todo_array.each do |t| %>
   <li> <%= t %> </li>
   <% end %>
于 2013-09-11T18:27:24.923 回答
0

只需将评论替换为<%= t %>. Rails 会自动显示数组的每个值:

<% @todo_array.each do |t| %>
    <li><%= t %></li>
<% end %>
于 2013-09-11T18:27:34.360 回答
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

于 2013-09-11T18:27:42.847 回答