2011-09-28 90 views
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 %> 

谢谢!

回答

0

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

0

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

我没有看到link_to行的任何错误 - 你能发布包含错误的文件的来源(并指出哪一行是第23行)?

+0

添加了源代码。另外,我将该行的内容锁定为'​​<%= link_to“Destroy”,user,:confirm =>“Are you sure?”,:method =>:delete%>'但问题仍然存在。 – Ava

+0

这是我user_test来源:'需要 'test_helper' 类UserTest <::的ActiveSupport的TestCase 测试 “真相” 做 断言真正 结束 end' – Ava

相关问题