场景: 我有一个simple_form带有一个名为“ Port”的字段。用户应该能够选择最低的空闲端口,或覆盖此选择。所有保留的端口均保存在“端口”模型中。这意味着该模型中没有的每个端口都可用。
端口模式: 范围是8080-65080。步骤是100(8080、8180、8280 ...)。
ENV: -导轨5 - sqlite3的 - simple_forms - html.erb
问题: 我绝对不知道如何完成这项任务。我希望有一个好的建议。我整天都在网上搜索这项任务,但没有找到任何东西。
假设您的Port模型有一个要求value输入端口号的整数字段,请转到port.rb文件并创建以下方法:
def self.available_ports
unavailable_ports = Port.order(value: :asc).pluck(:value)
first_port = 8080
last_port = 65080
step = 100
all_ports = (first_port..last_port).step(step).collect { |n| n }
all_ports - unavailable_ports
end
呼叫Port.available_ports,您将获得一个阵列,其中所有可用端口的最低端口为阵列中的第一个端口。然后,在您的表单中将其显示给用户。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。