设置动态创建的autocomplete_field的id

时间:2017-06-10 13:05:23

标签: javascript ruby-on-rails autocomplete ruby-on-rails-5

我正在努力让动态创建的autocomplete_field正常工作。

def link_to_add_fields(name, f, association)
 new_object = f.object.send(association).klass.new
 id = new_object.object_id
 fields = f.fields_for(association, new_object, child_index: id) do |builder|
  render(association.to_s.singularize + "_fields", f: builder)
 end
 button_tag(name, type:"button", class: "add_fields", data: {id: id, fields: fields.gsub("\n", "")})
end

我使用此方法创建:

<%= f.autocomplete_field :user_name ,  autocomplete_user_name_games_path ,:id_element=>"#my_user_id" %>
<%= f.hidden_field :user_id, id: "my_user_id"%>

由于我将创建许多autocomplete_fields,因此每个autocomplete和hidden_​​field对都需要一个唯一的ID。但是,如果我使用类似SecureRandom.hex的内容,则每个id都相同,因为第一个辅助方法填充一次,因此SecureRandom.hex始终相同。

0 个答案:

没有答案