2017-11-11 191 views
0

我跟着this tutorial構建一個簡單的功能:點擊一個按鈕加載存儲在部分內容中的內容。我想稍後在不希望使用信息重載視圖的各個地方使用它,以便讓它們保持輕微,但如果需要,則允許用戶訪問信息。在視圖中動態加載簡單內容

繼教程這是代碼:

# in view: knowledge/index.html.haml 

.container 
    .row 
    .col-xs-12 
     = link_to 'Show more info', fetch_adus_path, :remote => true 
     #adus 

-

# in: config/routes.rb 

get '/knowledge/fetch_adus', to: 'knowledge#selected_adus', as: 'fetch_adus' 

-

# my partial: knowledge/_adus_all.html.haml 

%p Content will be added here 

-

# in: knowledge_controller.rb 

def selected_adus 
    respond_to do |format| 
    format.js 
    end 
end 

-

# knowledge/selected_adus.js.haml 

$("#adus").html("#{escape_javascript(render partial: 'adus_all')}"); 

在知識(索引頁) - 當我將鼠標懸停在「顯示詳細信息」瀏覽器表明它應該鏈接到本地​​主機:3000 /知識/ fetch_adus但是當我點擊它沒有任何反應。我在控制檯得到一個錯誤:

GET http://localhost:3000/knowledge/fetch_adus 500 (Internal Server Error) jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:10255

這(點擊後)導致這行代碼:

xhr.send((options.hasContent && options.data) || null);

爲了提供更多的情況下,當我兩次單擊鏈接我得到一個更簡單錯誤:

knowledge/fetch_adus Failed to load resource: the server responded with a status of 500 (Internal Server Error)

導致此軌錯誤頁面:

ActionController::UnknownFormat in KnowledgeController#selected_adus

ActionController::UnknownFormat

Extracted source (around line #25):

respond_to do |format|

我是新來的鐵軌,如果任何人有任何想法如何解決它,或者如果有任何其他方式建立我所描述的功能,我將非常感謝任何建議。

+0

顯示請求發出時的服務器日誌和完整的控制器代碼 – dstull

+0

@dstull我檢查了日誌,發現了什麼問題。在部分文件中,我有一些被註釋掉的代碼,但奇怪的是它導致了模板錯誤。刪除它和兩個js解決方案(escape_javascript和j渲染 - 翻譯成哈姆 - 工作)。不知何故,我沒有檢查日誌。將其添加到我的個人調試場景清單中。非常感謝! – Socha

回答

1

的解決方案是簡單的比預期的。感謝@dstull,我檢查了日誌,發現了什麼問題。在部分我有一些代碼已被註釋掉,但奇怪的是它導致模板錯誤。刪除它和兩個js解決方案(escape_javascript和j渲染 - 翻譯成哈姆 - 工作)。始終檢查日誌是一種很好的做法。

0

看起來像你的知識問題/ selected_adus.js.haml文件

嘗試重新格式化$("#adus").html("#{escape_javascript(render partial: 'adus_all')}");$("#adus").html("<%= j render partial: 'knowledge/adus_all' %>");

+0

感謝@Zubin--看起來這兩種解決方案都是正確的,問題出在其他地方 - 在一個已被註釋掉的代碼中,但仍然導致模板錯誤。 – Socha