0
的項目,我有以下代碼不能破壞鐵軌
def destroy
@demand_site = DemandSite.find(params[:id])
@demand_site.destroy
flash[:success] = "Demand Site destroyed."
redirect_to demand_sites_path
end
要在我的SQL表破壞的項目。這裏是我的遷移文件
def change
create_table :demand_sites do |t|
t.integer :site_id
t.float :demand_quantity
t.timestamps
end
end
當我要摧毀出現以下錯誤項:
的SQLite3 ::的SQLException:沒有這樣的列:translinks.demand_site_id:選擇 「translinks」 * FROM「translinks」WHERE「translinks」。「demand_site_id」= 14
其中id號改變。我可以添加新項目並對其進行更改,但不能在之後將其摧毀。當我查看SQL表格時,它會顯示正確的列和ID。我可以手動刪除它們,但不能通過導軌。
我該如何解決這個問題?
視圖頁面
<% @demand_sites.each do |demand_site| %>
<tr>
<td><%= demand_site.site.codename %></td>
<td><%= demand_site.site.name %></td>
<td><%= best_in_place demand_site, :demand_quantity, :type => :input%></td>
<td><%= link_to 'Show', demand_site %></td>
<td><%= link_to 'Update', edit_demand_site_path(demand_site) %></td>
<td><%= link_to 'Destroy', demand_site, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
發佈您的查看頁面,其中提到刪除操作的鏈接。 – Pavan
在控制器中你有一個方法銷燬,但在視圖頁面中,它被寫爲刪除 – Pavan
寫在視圖文件中的方法是'HTTP方法(動詞)'而不是控制器的動作。它被正確寫入。 – Nerve