如何在rails中使用link_to_remove_association在表单中只有一行/项时隐藏删除链接

时间:2015-08-18 12:54:46

标签: ruby-on-rails cocoon-gem

我正在使用cocoon gem从rails中的表单添加/删除“动态”记录。有没有办法隐藏使用link_to_remove_association在页面上添加的删除链接,如果只有一行/项?

3 个答案:

答案 0 :(得分:1)

我修好了。当从JS添加行时,控制隐藏/显示删除链接必须从JS本身而不是rails处理。

$(document).ready(function() {
    $('#container')
      .on('cocoon:after-insert', function() {
        if($(".fields-row").length > 1){
          $(".remove_fields")[0].style.display="block";
        }else{
          $(".remove_fields")[0].style.display="none";
        }
      })
      .on("cocoon:after-remove", function() {
        if($(".fields-row").length == 1){
          $(".remove_fields")[0].style.display="none";
        }else{
          $(".remove_fields")[0].style.display="block";
        }
      });
});
使用link_to_remove_association时,

.remove_fields类会自动添加到<a>标记

出于某种原因,.show()/。hide()方法的JQuery无效,这就是为什么我使用了.style.display

答案 1 :(得分:0)

我只是将它包装在if块中,例如

INFO [server.startup : 2] openjpa.Runtime - Starting OpenJPA 2.x

答案 2 :(得分:0)

可以使用FormBuilder索引。

HAML:

.nested_fields
  %h3 Nested object
  - unless f.index == 0
    = link_to_remove_association "remove", f