Ich machte ein Wysiwyg-Modul, wo ein Benutzer benutzerdefinierte Textbereiche für verschiedene Abschnitte ihrer Website erstellen kann.Clearing-Controller in Rails 2
Ich tue dies, indem ich die Controller einchecke, wenn sie für diesen bestimmten Bereich noch einen erstellt haben. Wenn sie haben, sie leitet sie:
def new
if Wysiwyg.find_by_name(params[:name]) != nil
redirect_to edit_admin_wysiwyg_path(Wysiwyg.find_by_name(params[:name]))
else
@wysiwyg = Wysiwyg.new(:name => params[:name])
end
end
Das Problem ist, ist Rails glaubt immer noch, es ist ein ‚neues‘ obwohl ich den Benutzer zu bearbeiten umgeleitet haben. Wie kann ich den Controller 'löschen' und ihn wirklich ernsthaft glauben lassen, dass es tatsächlich ein 'Edit' ist?
Danke!
Sagen Sie das Formular, das für Ihre #edit Aktion gemacht wird, hat eine Route zu #create statt #update? – monocle
Ja! Seltsam wie es ist, weil meine Params es im Edit sagt, meine Seite ist '/ wysiwygs/1/edit', aber wenn ich auf submit klicke, geht es direkt zu einem create. Meine Form wird wie folgt instanziiert: '<% form_for (@wysiwyg,: url => admin_wysiwygs_pfad,: html => {: method =>: post}) do | f | %> ' – Trip