我在執行DELETE操作時遇到問題,因爲我的應用程序有任何對象。Rails刪除操作未在運行,並且呈現200正常
向你介紹我的組控制器刪除操作的通用代碼:
def destroy
@group = Group.find(params[:id])
respond_to do |format|
if @group.delete
format.html { redirect_to group_path }
format.json { head :no_content }
else
format.html { redirect_to group_path }
format.json { head :no_content }
end
end
end
而對於我的視圖佈局代碼:
<h1>My Groups</h1>
<table>
<tr>
<th>Name</th>
<th>Users</th>
<th></th>
<th></th>
</tr>
<% @groups.each do |group| %>
<tr>
<td><%= group.name %></td>
<td>
<% group.memberships.each do |membership| %>
<%= User.find(membership.user_id).name %>
<br/>
<% end %>
</td>
<td><%= link_to 'Show', group %></td>
<td><%= link_to 'Destroy', group, :confirm => 'Are you sure?', :method => :delete %></td>
</tr>
<% end %>
</table>
<br />
<%= link_to 'New Group', new_group_path %>
我無法甚至刪除組對象儘管rails服務器日誌給了我一個200 OK響應。返回的頁面爲空白屏幕:
Started DELETE "/groups/2" for 127.0.0.1 at 2013-03-19 01:22:01 +0800
Processing by GroupsController#destroy as HTML
Parameters: {"authenticity_token"=>"aH+z0DlL7NeoVlxda8Td76WdnrH7/G8UyWDqbJcTu9w=", "id"=>"2"}
Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
未使用ActiveRecord,並且沒有對數據庫進行任何更改。過去沒有這樣的問題,但我只知道我最近不能刪除任何類型的對象。
我一直在試圖找到網絡上發現的類似問題的解決方案,但不幸的是,似乎沒有人有這個問題呢。
更新1:
以下是我的應用程序佈局:
<!DOCTYPE html>
<html>
<head>
<%= csrf_meta_tag %>
<title>Home</title>
<%= javascript_include_tag :application %>
<%= stylesheet_link_tag :application, :media => "all" %>
<%= javascript_include_tag "/javascripts/main.js" %>
<%= stylesheet_link_tag "/css/main.css" %>
</head>
<body>
<%= yield %>
</body>
</html>
但是,當我使用控制檯刪除對象。它的工作原理:
1.9.3-p194 :003 > Group.find(23).delete
Group Load (0.5ms) SELECT "groups".* FROM "groups" WHERE "groups"."id" = $1 LIMIT 1 [["id", 23]]
SQL (3.0ms) DELETE FROM "groups" WHERE "groups"."id" = 23
=> #<Group id: 23, name: "groupie", created_at: "2013-03-18 15:29:42", updated_at: "2013-03-18 15:29:42", user_id: nil>
嗨!感謝您的答案,但我已經包括你提到的,但它仍然無法正常工作。我已經更新了該問題以包含我的應用程序佈局 – user1765921 2013-03-19 01:50:07