多个选择框,其中包含在Rails

时间:2016-07-24 13:25:15

标签: javascript jquery ruby-on-rails

我一直致力于实现act-as-taggable-on和select2来获得类似于stackoverflow的标记系统。我终于完成了所有工作,但我可以弄清楚两个问题。

  1. 如何预先填充已预先保存的代码
  2. 当我第一次加载页面时,它不会在初始加载时应用select2 javascript,但如果我刷新页面,则使用select2 javascript正确格式化它。 (使用咖啡所以可能会切换到常规的javascript)
  3. 下面是两个适用的代码块:

    $(document).on 'ready page:load', ->
        $("select#cuisine-select").select2({
            tags: true,
            tokenSeparators: [',', ' ']
            placeholder: 'Select Cuisine'
            allowClear: true
        });
    

    表单代码:

    <div class="fields">
        <%= f.label :cuisine_list, "Cuisines (separated by commas)" %>
        <%= f.collection_select :cuisine_list, Recipe.cuisine_counts, :id, :name, {},
                        { multiple: true, id: "cuisine-select", :style => "width:300px"} %>
    </div>
    
    编辑:已解决了部分内容,但现在当我加载编辑时,它正确加载,但是当我使用ids而不是名称更新它时更新。这就是我改为:

    <div class="fields">
        <%= f.label :cuisine_list, "Cuisines (separated by commas)" %>
        <%= f.collection_select :cuisine_list, Recipe.cuisine_counts, :id, :name, {:selected => recipe.cuisine_counts.map(&:id)},
                            { multiple: true, id: "cuisine-select", :style => "width:300px"} %>
    </div>
    

    此外我更改了页面:加载到turbolinks:加载,这似乎解决了在初次访问时未加载的问题。

0 个答案:

没有答案