Ich bekomme immer wieder den DoubleRenderError und ich kann nicht herausfinden, warum! Im Grunde habe ich eine Aktion, die eine andere Aktion aufruft, die eine vom Benutzer eingegebene Abfrage auf Fehler überprüft, und wenn theres einen Fehler, seine Haltestellen und zeigt den Fehler. Aber wenn ich eine Abfrage mit einem Fehler eingeben, dass, wenn ich die doppelte Render erhalten! Irgendwelche Vorschläge?
Hier ist die Aktion des Fehlerprüfers:
def if_user_formulated_request_properly
unless request.post?
flash[:error] = "This page can only be accessed through the search page. (POST request only)"
redirect_to(:action => "index") and return
end
if params[:query].blank?
flash[:error] = "Search criteria can not be blank"
redirect_to(:action => "index") and return
end
if !(params[:query] =~ /-/)
flash[:error] = "( Format of search criteria is wrong.<br /> Should be [IXLSpecClass value][year]-[Message ID] for exam
ple GP07-8)"
redirect_to(:action => "index") and return
end
if !(QueryParser.expression.match(params[:query]))
flash[:error] = %( Format of search criteria is wrong.<br />Should be [IXLSpecClass value][year]-[Message ID] for examp
le GP07-8)
redirect_to(:action => "index") and return
end
yield
Und nur für den Fall, dass Sie die Aktion brauchen, die diese Aktion aufruft
def show
if_user_formulated_request_properly do
@statuses = IXLStatus.find(:all)
@input_messages = InputMessage.search_by(params[:query].stri
p) unless params[:query].blank?
@query = params[:query]
end
respond_to do |format|
format.html #default rendering
end
end
end
UPDATE
Auch vergaß zu erwähnen, dies war ursprünglich eine Schienen 2 app und funktionierte, dieser Fehler begann, wenn ich auf Schienen 3 aktualisiert (ich glaube), so vielleicht Schienen 3 tut etwas anders mit and return
?