link_to_add_fields / unobtrusive javascript rails 4
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了link_to_add_fields / unobtrusive javascript rails 4,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1845字,纯文字阅读大概需要3分钟。
内容图文
![link_to_add_fields / unobtrusive javascript rails 4](/upload/InfoBanner/zyjiaocheng/749/574d9d1c049d417699189cf844fc0eb5.jpg)
我知道有一些关于railscast嵌套表单的线程……并且link_to_add_fields在rails 4中不再正常工作,因为关于不引人注意的js的变化.
有人可以帮助我理解并告诉我我必须改变什么才能使我的嵌套表格有效吗?我正在尝试“重建”:complex form但他使用的是铁轨3和我是铁轨4.
我确实收到以下错误:
undefined method `link_to_function' for
在_form.html.erb中:
<%= link_to_add_fields("Add a Contact", f, :contacts, :class => "btn btn-primary", :title => "Add a new Contact") %>
我的application_helper.rb
def link_to_add_fields(name, f, association, options = {})
new_object = f.object.class.reflect_on_association(association).klass.new
fields = f.fields_for(association, new_object, :child_index => "new_#{ association }", :onsubmit => "return $(this.)validate();") do |builder|
render(association.to_s.singularize + "_fields", :f => builder)
end
link_to_function(name, "add_fields(this, \"#{ association }\", \"#{ escape_javascript(fields) }\")", options)
结束
结束
谢谢!
解决方法:
在rails 4.1中不推荐使用link_to_function,建议使用Unobtrusive JavaScript.
这就是我的建议:
使用提供的jQuery代码:
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));
}
在你的形式:
<%= link_to_add_fields "Add a Contact", f, :contacts, "btn btn-primary", "Add a new Contact" %>
然后在application_helper中:
def link_to_add_fields(name, f, association, cssClass, title)
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 name, "#", :onclick => h("add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")"), :class => cssClass, :title => title
end
内容总结
以上是互联网集市为您收集整理的link_to_add_fields / unobtrusive javascript rails 4全部内容,希望文章能够帮你解决link_to_add_fields / unobtrusive javascript rails 4所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。