Rails - 使用数据库中的值填写表单字段
Rails - fill form field with value from database
场景:
我有一个 simple_form,其中包含一个名为 "Port" 的字段。用户应该能够 select 最低 空闲端口,或覆盖此 selection。所有保留端口都保存在 "port"-模型中。这意味着不在该型号中的每个端口都可用。
端口模式:
范围是 8080-65080。步长为 100(8080、8180、8280...)。
环境:
- Rails 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
,您将获得一个包含所有可用端口的数组,其中最低端口是数组中的第一个端口。然后,在您的表单中,将其显示给用户。
场景: 我有一个 simple_form,其中包含一个名为 "Port" 的字段。用户应该能够 select 最低 空闲端口,或覆盖此 selection。所有保留端口都保存在 "port"-模型中。这意味着不在该型号中的每个端口都可用。
端口模式: 范围是 8080-65080。步长为 100(8080、8180、8280...)。
环境:
- Rails 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
,您将获得一个包含所有可用端口的数组,其中最低端口是数组中的第一个端口。然后,在您的表单中,将其显示给用户。