我是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
感谢您的时间,
布赖恩
答案 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>
否则这看起来不错!