初学者帮助:为什么我的视图有错误信息?

时间:2016-01-12 21:53:44

标签: ruby-on-rails

我是Ruby on rails和编程的初学者,我正在制作一个非常基本的Todo List应用程序。

我的问题是我收到错误消息:

  

/home/brian/Desktop/rails_projects/to_do_list/app/views/lists/index.html.erb:20:语法错误,意外的keyword_ensure,期待输入结束

我认为这意味着我没有关闭html标签或者没有放置<%end%>在某个地方,但可能是错的。这似乎是一个简单的修复,并仔细检查了我的代码,似乎所有标签都已关闭,我已经结束了我的红宝石线。

这是我在/app/views/lists/index.html.erb中的视图模板:

<h1>Your To-Do Lists:</h1>

<table>

  <tr>
    <th>Title:</th>
    <th>Complete by:</th>
    <th colspan="2"></th>
  </tr>

  <% @lists.each.do |list| %>
    <tr>
        <td><%= list.title %></td>
        <td><%= list.complete_by %></td>
    </tr>
  <% end %>

</table>

如果它有用,这里是/app/controllers/lists_controller.rb:

class ListsController < ApplicationController

  def index
    @lists = List.all
  end

end

和/db/migrate/create_lists.rb

class CreateLists < ActiveRecord::Migration
  def change
    create_table :lists do |t|
        t.string :title
        t.date :complete_by

      t.timestamps null: false
    end
  end
end

感谢您的时间,

布赖恩

1 个答案:

答案 0 :(得分:1)

您需要删除"."方法和.each块之间的do

<h1>Your To-Do Lists:</h1>

<table>

  <tr>
    <th>Title:</th>
    <th>Complete by:</th>
    <th colspan="2"></th>
  </tr>

  <% @lists.each do |list| %>
    <tr>
        <td><%= list.title %></td>
        <td><%= list.complete_by %></td>
    </tr>
  <% end %>

</table>

否则这看起来不错!