首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Railscasts与Rails3不兼容吗?需要帮助进行调试

Railscasts与Rails3不兼容吗?需要帮助进行调试
EN

Stack Overflow用户
提问于 2011-04-04 13:06:33
回答 1查看 587关注 0票数 0

我在this railscast上看到了一些评论,说这个解决方案不适用于Rails3和jQuery,但就是不清楚。这是我在控制台中得到的错误:

代码语言:javascript
复制
Uncaught ReferenceError: add_fields is not defined
(anonymous function)485:98
onclickd

它指向了这个很长很奇怪的链接:<a href="#" onclick="add_fields(this, 'comment_titles', '&amp;lt;p class=\&amp;quot;fields\&amp;quot;&amp;gt;\n&amp;lt;label for=\&amp;quot;video_comment_titles_attributes_new_comment_titles_title\&amp;quot;&amp;gt;Comment Title:&amp;lt;\/label&amp;gt; \n&amp;lt;input id=\&amp;quot;video_comment_titles_attributes_new_comment_titles_title\&amp;quot; name=\&amp;quot;video[comment_titles_attributes][new_comment_titles][title]\&amp;quot; size=\&amp;quot;30\&amp;quot; type=\&amp;quot;text\&amp;quot; /&amp;gt;\n&amp;lt;input id=\&amp;quot;video_comment_titles_attributes_new_comment_titles__destroy\&amp;quot; name=\&amp;quot;video[comment_titles_attributes][new_comment_titles][_destroy]\&amp;quot; type=\&amp;quot;hidden\&amp;quot; value=\&amp;quot;false\&amp;quot; /&amp;gt;&amp;lt;a href=\&amp;quot;#\&amp;quot; onclick=\&amp;quot;remove_fields(this); return false;\&amp;quot;&amp;gt;remove&amp;lt;\/a&amp;gt;\n&amp;lt;input id=\&amp;quot;add_comment_title\&amp;quot; name=\&amp;quot;commit\&amp;quot; type=\&amp;quot;submit\&amp;quot; value=\&amp;quot;Add\&amp;quot; /&amp;gt;\n &amp;lt;div class=\'hint\'&amp;gt;Let your listeners know what comments you want by adding a guiding title for them. Pose a question, ask for feedback, or anything else!&amp;lt;\/div&amp;gt;\n&amp;lt;\/p&amp;gt;'); return false;">New Comment Title</a>

这是我的视频展示视图中的这个链接:

代码语言:javascript
复制
<%= link_to_add_fields "New Comment Title", f, :comment_titles %>

这是我的应用程序助手中的link_to_add_fields方法:

代码语言:javascript
复制
def link_to_add_fields(name, f, association)  
  new_object = f.object.class.reflect_on_association(association).klass.new  
  fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder|  
    render(association.to_s.singularize + "_fields", :f => builder)  
  end  
    link_to_function(name, h("add_fields(this, '#{association}', '#{escape_javascript(fields)}')"))  
end

这是我的application.js中的添加字段功能:

代码语言:javascript
复制
function add_fields(link, association, content) {  
        var new_id = new Date().getTime();  
        var regexp = new RegExp("new_" + association, "g");  
        $(link).parent().before(content.replace(regexp, new_id));  
    }

我几乎是从铁路广播中复制和粘贴的,所以我不确定发生了什么。

我该如何解决这个问题呢?你还想看什么其他的代码?

EN

回答 1

Stack Overflow用户

发布于 2011-04-04 14:47:59

所以看起来是这样的:

代码语言:javascript
复制
function add_fields(link, association, content) {  
    var new_id = new Date().getTime();  
    var regexp = new RegExp("new_" + association, "g");  
    $(link).parent().before(content.replace(regexp, new_id));  
}

必须在document.ready()块的外部。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5534763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档