Ich sende eine Javascript-Anfrage an eine Controller-Aktion, um zu versuchen, zu einer anderen HTML-Seite umzuleiten, wenn bestimmte Bedingungen nicht erfüllt sind. Nach einem Blick durch ein paar Fragen, ist es das, was ich habe kommen mit:Umleiten zu HTML von Javascript Anfrage funktioniert nicht (Rails)
def twittertweet
if current_user && current_user.twitter_token
....
else
flash[:notice] = "You must be registered with Twitter to do that."
respond_to do |format|
format.js { render(:update) { |page| page.redirect_to authentications_url } }
end
end
end
Ich mag die authentications_url redirect_to. Dies ist jedoch, was passiert:
Started POST "/twittertweet.json" for 127.0.0.1 at 2012-04-11 13:38:27 -0400
Processing by ItemsController#twittertweet as */*
Parameters: {"id"=>"22"}
Category Load (0.3ms) SELECT "categories".* FROM "categories"
Rendered items/update.html.erb within layouts/application (0.0ms)
Completed 200 OK in 112ms (Views: 79.9ms | ActiveRecord: 5.7ms)
Wie Sie sehen, es ist nur nicht einmal versucht, die authentications_url redirect_to. Aber ich weiß, dass die "else" -Anweisung erreicht wird (ich habe Put-Anweisungen hinzugefügt, die mir helfen, das herauszufinden).
Problemumgehungen für dieses Problem?
Aktualisieren Wenn Sie DanS Lösung versuchen, gibt es einen MissingTemplateError. Es ist immer noch versuchen, Artikel # update zu umleiten:
ActionView::MissingTemplate (Missing template items/update, application/update with {:handlers=>[:erb, :builder, :coffee], :formats=>[:json], :locale=>[:en, :en]}. Searched in:
* "/Users/dylandrop/Documents/givespend/app/views"
* "/Users/dylandrop/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.0.4/app/views"
):
Benötigen Sie die render (: update)? 'format.js {redirect_to authentications_url}' – DanS
@DanS Wenn ich das tue sagt es "Gestartet GET"/authentications "für 127.0.0.1 am 2012-04-11 13:57:03 -0400 Verarbeitung von AuthenticationsController # index als */* "etc ... aber lädt nicht wirklich die Seite – varatis
@DanS Mit anderen Worten sagt es, dass es" authentications/index.html.erb "gerendert hat aber tut wirklich nichts – varatis