从终端运行测试时出现语法错误

时间:2011-09-28 02:46:45

标签: ruby-on-rails unit-testing syntax-error rubymine

我在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 %>

谢谢!

2 个答案:

答案 0 :(得分:0)

通常当我收到错误时(警告:轶事),这是因为我在迭代器之后错过了do关键字,或者在视图中占用了一个块的haml函数。

我没有看到link_to行有什么问题 - 您是否可以发布包含错误的文件的来源(并指出哪一行是第23行)?

答案 1 :(得分:0)

这是一个配置问题。创建了一个新项目,复制了我的文件。现在它的工作。