Ich folge diesem tutorial. Das Tutorial erfordert, dass ich die Zerstörungsfunktion für Tags implementiere.Ungültiger Fremdschlüssel beim Löschen von Variablen in Schienen
Die Tags können erstellt und fein angezeigt werden. Doch sie ergibt sich folgende Fehler zu zerstören:
Parameters: {"authenticity_token"=>"VcYU8FRqn4oBXCv0NKXuO7yKNdI+9fIk46rY1ZwD7cQ8cqi37nZDVwNnWJLcNMWVq4gi3OU3YFDgzdeTRa1XKw==",
"id"=>"1"}
Tag Load (0.5ms) SELECT "tags".* FROM "tags" WHERE "tags"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
(0.0ms) begin transaction
SQL (2.0ms) DELETE FROM "tags" WHERE "tags"."id" = ? [["id", 1]]
(1.0ms) rollback transaction
Completed 500 Internal Server Error in 10ms (ActiveRecord: 3.5ms)
ActiveRecord::InvalidForeignKey (SQLite3::ConstraintException: FOREIGN KEY constraint failed: DELETE FROM "tags" WHERE "tags"."i
d" = ?):
app/controllers/tags_controller.rb:13:in `destroy
tags_controller.rb
class TagsController < ApplicationController
def index
@tags = Tag.all
end
def show
@tag = Tag.find(params[:id])
end
def destroy
@tags = Tag.find(params[:id])
@tags.destroy
# Set variable to instance of an object of class Article and call .destroy on it.
end
end
index.html.erb
<h1>Listing tags</h1>
<% @tags.each do |tag| %>
<tr>
<td><%= tag.name %></td>
<td><%= link_to 'Show', tag_path(tag) %></td>
<td><%= link_to 'Delete', tag_path(tag),
method: :delete,
data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</table>
Gibt es einen Schritt i verpasst oder etwas, was ich falsch eingegeben ?
Können Sie bitte auch Ihr Modell hinzufügen? –
Wenn Ihr Tag Tags hat, müssen Sie zuerst alle Tags löschen. Sie können dies mit 'dependent:: destroy' tun oder sie in der Aktion desktops destroy löschen. – Maxence