2011-04-02 89 views
1

我有這樣的代碼來渲染一個文件到另一個文件:這個jQuery代碼有什麼問題?

$("#edit_topics_link").click(function(e){ 
     e.preventDefault(); 
     $(".topic_form").load("/topic_form.html.erb"); 
     $("#edit_topics_link").hide(); 
}); 

這是鏈接:

<%= link_to "Add Topics", '#', :id => 'edit_topics_link' %> 

文件topic_form.html.erb是在同一文件夾中的文件的鏈接是

這是我在控制檯中看到的錯誤:

Uncaught TypeError: Cannot set property '_renderItem' of undefined 

怎麼回事,我該如何解決?

+0

什麼是生成的HTML?是否可以訪問'/ topic_form.html.erb'? – lonesomeday 2011-04-02 18:36:42

+0

由於錯誤導致JS未執行,因此未生成HTML。我不確定我是否有正確的文件路徑? – 2011-04-02 18:37:58

+2

您已經爲鏈接提供了Ruby源代碼,而不是生成的HTML。 jQuery在解析的HTML上工作 - 它並不關心創建它。 – lonesomeday 2011-04-02 18:40:20

回答

1

取出在"/topic_form.html.erb"

+0

該死的,打我吧。 :P – mattsven 2011-04-02 18:38:41

+0

仍然有相同的錯誤 – 2011-04-02 18:39:10

+0

哦廢話,錯誤其實比 – 2011-04-02 18:46:31

0

反斜槓你們是不是要直接訪問你的視圖文件?

它可能需要先由控制器渲染!

你可以這樣來做:

class MyController < ApplicationController 
    def topic_form 
    render '/topic_form' 
    end 
end 

控制器添加到您的路線,你就大功告成了!