簡體   English   中英

如何將值從集合傳遞到自定義HTML屬性?

[英]How do I pass values from a collection to as custom HTML attributes?

我正在用Rails編寫表單。 我有一組用戶,其中包括以下用戶詳細信息

  • 名稱
  • ID
  • 員工ID

我想定義用戶名,使其顯示為下拉顯示值,而其ID為下拉值,但同時,我想添加一個附加的自定義HTML屬性,即data-employee-id,並將其設置為與employeeId相同

我當前的代碼如下:

.user-dropdown
  = f.label 'name'
  = f.input :id, as: :select, collection: @users, include_blank: }

html結果如下:

<option value='1' data-employee-id='1234'>Alex</option>
<option value='2' data-employee-id='2468'>Bradley</option>
<option value='3' data-employee-id='1357'>Cathy</option>

您可以使用options_for_select進行此操作

= f.select :id, options_for_select(
  @users.map { |u| [u.name, u.id, {'data-employee-id' => u.id}] })

簡單的形式有特權,所以Mihai的答案很接近simple_form的方式是

= f.input :id, collection: @users.map { |u| [u.name, u.id] }, 
include_blank: true/false

而且您還留下了一個閉合的花括號而不打開它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM