Rails 单页面嵌套 form 如何实现,js & gem

as181920 · 2013年03月21日 · 最后由 yeyong14 回复于 2013年11月25日 · 3173 次阅读

传统如下

<%= form_for @project do |f|%>
 <%=f.fields_for :tasks do |ff|%>
  <%end%>
<%end%>

对于固定有多少个 task 的情况,这样就可以了;

对于可能有多个,页面上可以动态添加的,加了 gem nested_form,变成

<%= nested_form_for @project do |f|%>
 <%=f.fields_for :tasks do |ff|%>
    <%=ff.link_to_add "", :tasks%>
  <%end%>
<%end%>

这样也就搞定了,用这个 gem 是因为自己对 js 不熟,大致看了下自己写 js 也好多代码

问题如下,当嵌套里面还有嵌套一个的时候,靠这个 gem 就实现不了了

<%= nested_form_for @project do |f|%>
 <%=f.fields_for :tasks do |ff|%>
      <%=ff.fields_for :info do |fff|%>
      <%end%>
    <%=ff.link_to_add "", :tasks%>
  <%end%>
<%end%>

这样里面再嵌套的这个,通过 gem 的 js 就不会自动添加出来,有解决方法么?

偶滴神阿,偶尔想问个正经问题,这么快就沉了。看来下次要换个诱惑点的标题了

#2 楼 @huacnlee 和预计的一样,自己动手写 js 是能实现的,我比较懒(太多代码也不好维护)所以想用 197 最后提到的那个 gem,结果用 gem 遇到问题,就是我上面要问的问题。

所以问题还是没解决。临时赶时间取消多层嵌套处理了。下次遇到要么手写要么还得仔细看看这个 gem 有没有方法(它的 issues 里面有提到,也没找到解决方法)

ps,唉,年轻人有大把时间学习真是无比幸福啊

回复错了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号