1

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

谢谢!

4

2 回答 2

0

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

我看不出这link_to行有什么问题——你能发布包含错误的文件的源代码吗(并指出哪一行是第 23 行)?

于 2011-09-28T15:48:06.253 回答
0

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

于 2011-09-30T01:07:36.660 回答