0

我想通過從瀏覽器傳遞一些數據(某些文本值作爲字符串)並呈現與我相同的動作的視圖來執行ajax請求使用ajax發送請求。在Rails中的ajax調用之後不渲染的動作模板3.2.13

我的工作流程是這樣的:

  1. 用戶上傳的兩個文件:CALIB和:INTEN。

  2. 應用程序使用回形針保存文件並解析不同實例變量中的信息。

  3. 文件解析後,應用程序以flash[:notice]的形式在創建操作中傳遞消息,並立即將pr列表作爲瀏覽器中的下拉列表提供給用戶。
  4. 有兩個部分_form_formTwo它在創建操作中呈現。

  5. 當我執行ajax請求時,我在創建視圖中,並且我要求控制器中名爲norm的其他操作。

  6. ajax調用後,我希望應用程序呈現norm.html.erb而不刷新頁面。

我的代碼是在這裏:http://pastie.org/private/keykmwbzcrv04dfvkufsew

我試圖使用AJAX的非侵入式JavaScript,但我不知道如何通過使用的link_to或button_to幫助一些數據(如上所述)。

使用簡單的jquery ajax,我可以將數據傳遞到服務器,但是我的頁面沒有呈現。開發日誌顯示頁面已呈現,但瀏覽器頁面中沒有任何更改。我知道我失去了一些東西,但無法弄清楚?

開發日誌輸出:

Started POST "/normalize" for 127.0.0.1 at 2014-04-30 13:38:43 +0200 
Processing by UploadsController#normalize as */* 
Parameters: {"data"=>"17,Poly-T-CY5,EukS_1209_25_dT"} 
Upload Load (0.1ms) SELECT `uploads`.* FROM `uploads` WHERE `uploads`.`id` = 17 LIMIT 1 
Rendered uploads/_normalize.html.erb (0.2ms) 
Rendered uploads/normalize.js.erb (1.0ms) 
Completed 200 OK in 4ms (Views: 2.1ms | ActiveRecord: 0.1ms) 

我希望我已經解釋了我的問題好了,請讓我知道如果我沒有說清楚?

回答

0

LINK_TO允許你傳遞一個data_hash像這樣:

<%=link_to("Link",link_path,:data=>{foo:"bar",hello:"goodbye"},remote:true)%> 

你的代碼來看,另一個問題是,「norm.html.erb」文件不是局部的。爲了從'norm.js.erb'渲染它,你需要重新命名'_norm.html.erb',這樣rails會將它識別爲部分。

+0

thanx用於解釋...但我發現我的代碼中有一個主要的問題,那就是dataType:'string'在我的ajax調用中應該是dataType:'script'。我改變了它,一切運作良好。 :) – JstRoRR