我正在努力让动态创建的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
始终相同。