2012-04-03 32 views
0

我有一個遠程表單來更新我的一個對象。但是,在更新之後,Rails會重定向到另一個頁面,就好像這個表單根本不是遠程的。我究竟做錯了什麼?儘管remote_form重定向?

從視圖:

<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> 

我有jQuery的使用.submit提交表單()。然後,控制器的作用:

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 

我也曾嘗試在服務器端,我在網上找到的,沒有任何變化的替代響應:

請指教。

編輯:這是我的服務器呼叫說:

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) 
+0

我使用的標準Rails 3.2沒有rails.js afaik。不過,我正在鏈接application.js,其中包含// = require jquery // = require jquery_ujs // = require_tree – Sprachprofi 2012-04-03 16:50:27

+0

我添加了服務器的東西,請看看。 – Sprachprofi 2012-04-04 07:48:58

回答

1

找到了解決方案:提供:格式=>:JSON在我的表單標籤。也許jquery_ujs沒有完成它的工作,雖然「銷燬」鏈接工作正常...

相關問題