2013-12-13 27 views
0

我使用Rails 4,试图让选择工作,但它不呈现,而是显示标准的多选菜单。我已经在这里完成了所有内容:http://railscasts.com/episodes/258-token-fields-revised?autoplay=trueRails 4 - 选择的菜单风格不渲染

但是选择不起作用。任何建议或改动?该文件如下:

的Gemfile:

gem 'chosen-rails', '1.0.1' 
gem 'compass-rails', github: 'Compass/compass-rails' 

_field.html.erb:

<%= f.label :category_ids, "Restaurant Categories" %> 
<%= f.collection_select :category_ids, Category.all, :id, :name, {}, {multiple: true} %> 

的application.js:

//= require jquery 
//= require chosen-jquery 
//= require jquery_ujs 
//= require bootstrap 
//= require turbolinks 
//= require_tree . 

application.css:

* 
*= require_self 
*= require chosen 
*= require_tree . 
*/ 

users.js.coffee:

jQuery -> 
    $('#category_ids').chosen() 
+0

查看源码时,jQuery是否正确加载?你是否在控制台中收到错误信息? – Justin

+0

Justin,查看源代码我不相信jQuery正在加载,因为菜单仍然有效,但并不像Chosen希望的那样。在他编辑jQuery时注意到的视频中,为了“确保DOM已经加载”,这是什么意思? – Sauron

回答

1

有一件事我会尝试在chosen-rails之前加载jquery-ujsapplication.js

所以你application.js看起来像

//= require jquery 
//= require jquery_ujs 
//= require chosen-jquery 
//= require bootstrap 
//= require turbolinks 
//= require_tree . 

希望这有助于修复你的问题

+0

我只是做了它,并重置服务器,没有工作。有没有什么关于Rails 4,可以防止这个宝石工作?什么? – Sauron

0

我刚刚面临同样的问题。解决这样说:

  1. 新增jQuery的turbolinks宝石通过:

    gem 'jquery-turbolinks'

  2. 更新的application.js在jQuery的turbolinks说宝石:

//= require jquery 
    //= require jquery.turbolinks 
    //= require jquery_ujs 
    // 
    // ... your other scripts here ... 
    // 
    //= require turbolinks 

我希望你觉得这个很有用。