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 に答える