我正在尝试设置max_users
方法。我有两种不同的软件类型,硬件和软件,我试图将硬件设置为1,软件设置为无限制(最终用户将在表单字段中选择他们想要多少最大用户,但现在只是无限制。
非常感谢任何帮助。提前谢谢。
这是我的型号代码:
def set_max_users
if max_users.nil?
self.max_users = 1
end
end
我的JS用于动态添加带有cocoon的表单字段(如果这样会有所帮助):
$ ->
check_to_hide_add_link = ->
max_users = parseInt($("#asset_max_users").val(), 10)
if $("#assets_users .nested-fields").length >= max_users
$("#assets_users .links a").hide()
else
$("#assets_users .links a").show()
$("#assets_users").bind "cocoon:after-insert", ->
check_to_hide_add_link()
$("#assets_users").bind "cocoon:after-remove", ->
check_to_hide_add_link()
check_to_hide_add_link()
答案 0 :(得分:4)
答案 1 :(得分:1)
虽然您可以在Ruby中使用Infinity,但您无法将无限值保存到DB。 作为一种变通方法,您可以将其设置为0(如果您不需要max_user等于0,否则您可以使用nil / empty值) - 因此您只需要检查是否值为0,那么它是无限的,无需检查更多/更少的其他值。它将解决另一个问题,用户无法将Infinity设置为数字字段值。
check_to_hide_add_link = ->
max_users = parseInt($("#asset_max_users").val(), 10)
if max_users isnt 0 and $("#assets_users .nested-fields").length >= max_users
$("#assets_users .links a").hide()
else
$("#assets_users .links a").show()