坚持完成我的第一个rails应用程序

时间:2013-09-11 18:20:29

标签: ruby-on-rails actionview actioncontroller

我在轨道上接受了tutorial在线,但我被卡住了。这些是我的控制器和视图文件:

/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 个答案:

答案 0 :(得分:0)

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

<强>控制器:

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

查看:

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

答案 1 :(得分:0)

只需用<%= t %>替换评论即可。 Rails将自动显示数组的每个值:

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

答案 2 :(得分: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

答案 3 :(得分:0)

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

但是,您只需要传递<%= t %>代替评论。

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

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