Ruby on Rails中有一个关于simple_form的问题。
我想创建一个表单。
我有两个模型:车辆,维修。
<%= simple_form_for(@repair) do |f| %>
<div class="form-inputs">
<%= f.input :vehicle_id, include_blank: true, label: 'Vehicle_no' %>
</div>
<% end %>
创建维修表时,我希望搜索@vehicle. no。
当我输入有关车辆编号的关键字时,例如:XXX-1211,我选择了我需要的一个,然后我可以通过@www.example.com获得ID,并将其与车辆编号放在一起。vehicle.no to placing with the vehicle number.
我怎么能做到呢?
谢谢大家!
> Updated
我有一个输入区域来搜索车辆编号,但该值将是车辆ID。
Form =〉Vehicle No [_____]〈=输入www.example.com,但我想输入有关车辆ID的值。vehicle.no, but I would like to put the value about the vehicle's id.
> Updated
这是上面的表单。
当我键入车辆编号部分时,可能会显示一些车辆编号供选择。(搜索部分)
如果我选择XXX-112,并且根据下面的数据表,我可以得到值id = 2来提交表单。
1.溶媒_表
身份证号
1 XXX-111
2 XXX-112
3 XXX-332
。
。
。
小行星100
我怎样才能达到这个目标?它使用一些AJAX功能?
我想使用搜索方法,因为我有许多车辆数据...
抱歉,我的英语太差了,无法解释这个问题.....:-(
2条答案
按热度按时间b09cbbtk1#
https://github.com/plataformatec/simple_form#associations
<%= f.association :vehicle, label_method: :no, value_method: :id %>
当然,这是假定“修理”在其模型文件中有一行
has_one :vehicle
。这段代码将生成一个select标记,其中所有标签都等于:no(我假设格式为XXX-1211),但select元素的值将是vehicle_id
现在,如果您创建一个新的修复,它将是一个下拉列表,显示@vechicle.no,但将@ www.example.com存储vechicle.id在数据库中。
为了能够进行搜索,你需要一些额外的javascript库,比如select2,它可以把一个选择框变成一个自动完成的元素,然后你可以把
input_html: {class: "select2"}
添加到上面的f.输入行来使用它。pqwbnv8z2#