如何解决你如何将 ActAsTaggableOn 与 Select2 和 SimpleFormFor 结合起来?
在我加入 simple_form_for 之前,select2 工作得很好。现在浏览器控制台显示以下内容,我只看到呈现的常规输入字段:
<prosody rate="slow" contour="(5%,+40%) (10%,+20%) (15%,+10%) (40%,-10%) (60%,+20%) (100%,+30%)">Okay! To connect you with the best agent to speak with</prosody>
controllers/projects_controller.rb
[Error] Error: No select2/compat/inputData
callDep (application-216bdb7aa518f72cf379.js:29168)
req (application-216bdb7aa518f72cf379.js:29337)
(anonymous function) (application-216bdb7aa518f72cf379.js:29143)
Options (application-216bdb7aa518f72cf379.js:34179)
Select2 (application-216bdb7aa518f72cf379.js:34319)
(anonymous function) (application-216bdb7aa518f72cf379.js:34993)
each (application-216bdb7aa518f72cf379.js:7030)
(anonymous function) (application-216bdb7aa518f72cf379.js:34990)
initSelect2 (application-216bdb7aa518f72cf379.js:341)
(anonymous function) (application-216bdb7aa518f72cf379.js:164)
dispatchEvent
(anonymous function) (application-216bdb7aa518f72cf379.js:35348:1425)
(anonymous function) (application-216bdb7aa518f72cf379.js:35349:2793)
(anonymous function) (application-216bdb7aa518f72cf379.js:35349:1181)
(anonymous function) (application-216bdb7aa518f72cf379.js:35348:29997)
views/projects/new.html.erb
...
def new
@project = Project.new
@tags = ActsAsTaggableOn::Tag.pluck(:name).sort
end
...
/plugins/init_select2.js
<%= simple_form_for @project do |f| %>
<%= f.input :tag_list,label: 'Topics',input_html: { class: 'select2',multiple: 'multiple',data: { options: @tags,style: 'margin-bottom: 1rem;' } } %>
<% end %>
application.js
import $ from 'jquery';
import 'select2';
import 'select2/dist/css/select2.css';
const initSelect2 = () => {
$('.select2').select2({
width: 400,minimumInputLength: 2,maximumSelectionLength: 4,tags: $('.tags').data('options'),tokenSeparators: [',',' ']
});
};
export { initSelect2 };
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。