ruby-on-rails Ruby on Rails -表单输入一列并在表单中插入另一列

qqrboqgw  于 2023-02-26  发布在  Ruby
关注(0)|答案(2)|浏览(162)

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功能?
我想使用搜索方法,因为我有许多车辆数据...
抱歉,我的英语太差了,无法解释这个问题.....:-(

b09cbbtk

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.输入行来使用它。

pqwbnv8z

pqwbnv8z2#

<%= simple_form_for @repair do |f| %>
    <%= f.collection_select :vehicle_id, Vehicle.all, :id, :no %>
    <%= f.submit %>
<% end %>

相关问题