ACHTUNG. Das ist ein Archiv des alten forum.ruby-portal.de. Die aktuelle Mailingliste gibt es auf lists.ruby-lang.org/pipermail/ruby-de.

NOTICE. This is a ready-only copy of the old forum.ruby-portal.de. You can find the current mailing list at lists.ruby-lang.org/pipermail/ruby-de.

Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 17 Jun 2013, 18:05 
Offline
Geselle

Registriert: 18 Dez 2012, 19:44
Beiträge: 140
Das Löschen von Objekten ist in Rails ja eine recht triviale Angelegenheit, doch es wird ein klein wenig komplizierter, sobald das zu löschende Objekt in einer anderen Ressource verschachtelt ist.

Ich möchte ein Review löschen, das immer zu einem Spiel gehört


1
2
3
  resources :games do
resources :reviews
end


und ich glaube da muss der Controller etwas genauer angewiesen werden...


Im Moment sieht meine destroy Methode im reviews controller so aus



1
2
3
4
5
6
7
  def destroy
@review = Review.find(params[:id])
@review.destroy
@game = Game.find_by_id(params[:game_id])
flash[:success] = "Review gel��scht"
redirect_to game_path(@game)
end


Doch das hat zur Folge, dass eine falsche ID übergeben wird. Wenn ich versuche das Review mit der id=3 zu löschen wird jedoch auf das review mit id=1, das zum spiel mit id=3 gehört gelöscht, also games/3/review/1, obwohl reivew/3 angesprochen werden sollte...

Den Delete button selbst rendere ich nur in der listen ansicht über ein partial


1
2
3
4
5
    <% if current_user?(game_review.user) %>
<%= link_to "delete", game_review_path(game_review), method: :delete,
data: { confirm: "You sure?" },
title: game_review.content %>

<% end %>


Liege ich mit der Annahme richtig im Controller die ID konkreter vergeben zu müssen oder kann es an etwas ganz anderem liegen?


Nach oben
 Profil  
 
BeitragVerfasst: 18 Jun 2013, 10:24 
Offline
Interpreter

Registriert: 10 Dez 2007, 17:37
Beiträge: 1906
Das Problem liegt in game_review_path(game_review). Du musst dort erst das game, dann den review angeben.

http://weblog.jamisbuck.org/2007/2/5/nesting-resources

_________________
Grüße
Jack


Nach oben
 Profil  
 
BeitragVerfasst: 18 Jun 2013, 10:54 
Offline
Geselle

Registriert: 18 Dez 2012, 19:44
Beiträge: 140
Wahnsinn Danke, hat geklappt :)




game_review_path(@game, game_review)


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
cron