Rails 4 - 选择不渲染的菜单样式

时间:2013-12-13 22:30:24

标签: ruby-on-rails jquery-chosen

我正在使用Rails 4,尝试让Chosen工作,但它不会渲染,而是显示标准的多选菜单。我已经完成了railscast中的所有操作:http://railscasts.com/episodes/258-token-fields-revised?autoplay=true

但是选择不起作用。有什么建议或改动吗?文件如下:

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() 

2 个答案:

答案 0 :(得分:1)

我要尝试的一件事是在jquery-ujs

chosen-rails之前加载application.js

所以你的application.js看起来像是

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

希望这有助于解决您的问题

答案 1 :(得分:0)

我刚遇到同样的问题。解决这个问题:

  1. 通过以下方式添加 jquery-turbolinks gem:

    gem 'jquery-turbolinks'

  2. 更新了 jquery-turbolinks gem中所述的application.js:

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

    我希望你觉得这很有用。