【问题标题】:Cocoon gem: How to limit the number of associations茧宝石:如何限制关联数量
【发布时间】:2014-11-03 19:56:07
【问题描述】:

我正在尝试使用 Cocoon gem 将用户添加到资产。唯一的问题是我需要设置它以根据资产的类型限制可应用于资产的用户关联的数量(硬件/软件,硬件为 1,软件不会被定义)。目前我可以继续向资产添加用户关联。有没有办法限制关联的数量?

感谢任何帮助。提前谢谢你。

资产显示:

- if @asset.users.empty?
      = simple_form_for([@asset_profile, @asset]) do |f|
        #assets_users
          = f.simple_fields_for :assets_users do |assets_user|
            = render "assets_user_fields", :f => assets_user
          .links
            = link_to_add_association "Add Another User", f, :assets_users
          = f.submit

_assets_users_fields.html.haml:

.nested-fields
  = f.input :user_id, collection: @users.order(:last_name), :label => "User"
  = link_to_remove_association "Remove", f

我尝试了我在另一个问题上看到的解决方案,但在if $("#assets_users .nested-fields").length() is 1 处出现Uncaught TypeError: number is not a function 的错误消息。

我试过的javascript:

$ ->
  check_to_hide_add_link = ->
    if $("#assets_users .nested-fields").length() is 1
      $("#assets_users .links a").hide()
    else
      $("#assets_users .links a").show()
    return
  $("#assets_users").bind "cocoon:after-insert", ->
    check_to_hide_add_link()
    return

  $("#assets_users").bind "cocoon:after-remove", ->
    check_to_hide_add_link()
    return

  check_to_hide_add_link()
  return

再次感谢任何帮助。

编辑:链接到引用的问题:Cocoon add association, how to limit number of associations

生成的javascript:

$(function() {
  var check_to_hide_add_link;
  check_to_hide_add_link = function() {
    if ($("#assets_users .nested-fields").length() === 1) {
      return $("#assets_users .links a").hide();
    } else {
      return $("#assets_users .links a").show();
    }
  };
  $("#assets_users").bind("cocoon:after-insert", function() {
    return check_to_hide_add_link();
  });
  $("#assets_users").bind("cocoon:after-remove", function() {
    return check_to_hide_add_link();
  });
  return check_to_hide_add_link();
});

【问题讨论】:

  • 您没有链接到您找到答案的问题 (my answer btw),但是您的问题出在咖啡脚本翻译中。你能告诉我们生成的javascript吗?
  • 对此我深表歉意。添加了链接,以及生成的 javascript。

标签: ruby-on-rails ruby associations limit cocoon-gem


【解决方案1】:

摆脱() 上的.length 最终成为错误消息的解决方案。只是我将javascript转换为coffeescript的问题。

这是我打开的新问题的链接,以进一步深入研究我的具体问题,以防万一有人有同样的问题:Javascript: Using a method from model in javascript code

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 2011-07-06
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多