Ich habe ein Remote-Formular zum Aktualisieren eines meiner Objekte. Nach der Aktualisierung leitet Rails jedoch auf eine andere Seite um, im Wesentlichen so, als ob dieses Formular überhaupt nicht remote wäre. Was mache ich falsch?Redirect trotz remote_form?
Aus Sicht:
<td id='translation-<%= base_text.id.to_s %>' class='editable'>
<span class="translationstring"><%= @translation.content %></span>
<%= form_for @translation, :remote => true, :html => { :id => ('translation-form-for_' + base_text.id.to_s) } do |f| %>
<%= text_area(:translation, :content, :rows => 2) %><%= f.hidden_field(:base_text_id) %><%= f.hidden_field(:lang) %>
<% end %>
</td>
Ich habe jQuery das Formular abschicken .submit() verwenden. Dann wird der Controller funktioniert:
def update
@translation = Translation.find(params[:id])
respond_to do |format|
if @translation.update_attributes(params[:translation])
format.html { redirect_to @translation, notice: 'Translation was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @translation.errors, status: :unprocessable_entity }
end
end
Ende
Ich habe auch eine alternative Antwort auf der Server-Seite versucht, die ich online gefunden, keine Änderung:
Bitte beraten.
EDIT: das ist, was mein Server für den Anruf sagt:
Started PUT "/translations/1" for 127.0.0.1 at 2012-04-04 09:45:49 +0200
Processing by TranslationsController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"WbYiaRgermr2T4wzTPX/ftBsfOB8+
pHCYmhDFJMUu9I=", "translation"=>{"content"=>"Testet Schlüssel wieder.", "base_t
ext_id"=>"1", "lang"=>"de"}, "id"=>"1"}
←[1m←[36mTranslation Load (1.0ms)←[0m ←[1mSELECT `translations`.* FROM `trans
lations` WHERE `translations`.`id` = 1 LIMIT 1←[0m
←[1m←[35m (0.0ms)←[0m BEGIN
←[1m←[36m (81.0ms)←[0m ←[1mUPDATE `translations` SET `content` = 'Testet Schl
üssel wieder.', `updated_at` = '2012-04-04 07:45:49' WHERE `translations`.`id` =
1←[0m
←[1m←[35m (38.0ms)←[0m COMMIT
Redirected to http://localhost:3000/translations/1
Completed 302 Found in 133ms (ActiveRecord: 120.0ms)
Ich benutze die Standard-Rails 3.2 wo gibt es keine rails.js afaik. Jedoch verbinde ich application.js, das enthält // = require jquery // = require jquery_ujs // = require_tree – Sprachprofi
Ich habe den Serverkram hinzugefügt, bitte sehen Sie. – Sprachprofi