2011-04-02 90 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 

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