我在RubyMine上有一个rails应用程序。在终端上运行测试(Mac OS X 10.7)时,我收到以下错误:
Ruby -Itest test/unit/user_test.rb
Creating sqlite :memory: database
-- create_table("logins", {:force=>true})
-> 0.0014s
-- create_table("posts", {:force=>true})
-> 0.0094s
-- create_table("users", {:force=>true})
-> 0.0011s
-- initialize_schema_migrations_table()
-> 0.0009s
-- assume_migrated_upto_version(20110927003058, ["db/migrate"])
-> 0.0007s
Loaded suite test/unit/user_test
Started
E
1) Error:
test_the_truth(UserTest):
SyntaxError: (erb):23: syntax error, unexpected keyword_end, expecting $end
; end ; _erbout.concat "\n"
^
Finished in 0.024246 seconds.
1 tests, 0 assertions, 0 failures, 1 errors, 0 pendings, 0 omissions, 0 notifications
0% passed
41.24 tests/s, 0.00 assertions/s
我猜这些行正在创造问题:
<td><%= link_to 'Destroy', user, confirm: 'Are you sure?', method: :delete %></td>
是吗?是这样吗?如果是,为什么?
编辑:
<h1>Listing users</h1>
<table>
<tr>
<th>Unity id</th>
<th>Name</th>
<th>Password</th>
<th>Role</th>
<th></th>
<th></th>
<th></th>
</tr>
<% @users.each do |user| %>
<tr>
<td><%= user.Unity_ID %></td>
<td><%= user.Name %></td>
<td><%= user.Password %></td>
<td><%= user.Role %></td>
<td><%= link_to 'Show', user %></td>
<td><%= link_to 'Edit', edit_user_path(user) %></td>
<td><%= link_to "Destroy", user, :confirm => "Are you sure?", :method => :delete %> </td> --- Line 23
</tr>
<% end %>
</table>
<br />
<%= link_to 'New User', new_user_path %>
谢谢!
答案 0 :(得分:0)
通常当我收到错误时(警告:轶事),这是因为我在迭代器之后错过了do
关键字,或者在视图中占用了一个块的haml函数。
我没有看到link_to
行有什么问题 - 您是否可以发布包含错误的文件的来源(并指出哪一行是第23行)?
答案 1 :(得分:0)
这是一个配置问题。创建了一个新项目,复制了我的文件。现在它的工作。