jquery - jQuery令牌输入不显示数据标签rails
问题描述
我正在尝试jQuery token-input
在我的 rails 应用程序中使用 gem。除了数据加载部分外,我已经按预期工作了。当我创建一个plan
with multiplematerials
并保存它时,它会按预期创建记录。
当我回去编辑该计划时,没有显示任何材料。但是,正如我从下面看到的源代码中看到的那样,数据正在浏览器中预加载。
<input data-tokeninput="{"collection":[{"id":2,"title":"test","goal":"test","material_type":"test","sharing":false,"description":"test","unit_id":null,"created_at":"2018-04-24T21:40:58.000Z","updated_at":"2018-04-24T21:40:58.000Z","grade_id":6,"user_id":1,"subject_id":6,"attachment_file_name":null,"attachment_content_type":null,"attachment_file_size":null,"attachment_updated_at":null}]}" type="text" name="plan[material_tokens]" id="plan_material_tokens" style="display: none;">
有谁知道为什么这不在现场显示数据?
计划.咖啡
jQuery ->
$('#plan_material_tokens').tokenInput('/materials.json', { propertyToSearch: 'title' });
prePopulate: $('#plan_material_tokens').data('load')
_form.html.erb
<%= form_for @plan do |form| %>
<div class="form-group">
<%= form.label :name %>
<%= form.text_field :name, class: 'form-control' %>
</div>
<div class="form-group">
<%= form.label :material_tokens, "Materials" %>
<%= form.text_field :material_tokens, data: { load: @plan.materials }%>
</div>
<%= form.submit %>
<% end %>
材料控制器(从中提取 json 数据)
def index
@materials = current_user.materials
respond_to do |format|
format.html
format.json { render json: @materials.where("title LIKE ?", "%#{params[:q]}%") }
end
end
解决方案
对于其他有此问题的人来说,这是帮助我的解决方案。与其调用数据加载器load
,不如将其更改pre
为如下所示。
_form.html.erb
<div class="form-group">
<%= form.label :material_tokens, "Materials" %>
<%= form.text_field :material_tokens, data: { pre: @plan.materials.to_json }%>
</div>
计划.咖啡
jQuery ->
$('#plan_material_tokens').tokenInput('/materials.json', { propertyToSearch: 'title' })
zindex: 6000
allowCustomEntry: false
preventDuplicates: true
prePopulate: $("#plan_material_tokens").data('pre')
我将进一步研究为什么会这样,并将在这个答案中跟进。
推荐阅读
- java - 谷歌 App Engine 中的 Spring Boot 应用程序 http 到 https 重定向
- javascript - 我正在努力开始使用打字稿
- .net-core - 由于 ILogger
是单例,不同线程如何使用 BeginScope() 而不影响其他线程? - apache-spark - 使用 JdbcStorageHandler 从 Spark 读取 Hive 表时出错
- regex - 如何使用正则表达式捕获给定字符集中的文本
- go - 在golang中的if条件的基础上重写一个变量类型
- c# - 在服务器上接收和保存 Json 文件
- bash - bash提取列表文件并将它们分组到另一个文件中
- android - 旋转后工具栏后退按钮不起作用
- flutter-listview - 如何在列内显示列表视图?