如何使用标记为选中的选项呈现选择标记

时间:2011-10-19 15:45:17

标签: ruby-on-rails-3 ruby-on-rails-3.1

<div class="field">
  <%= f.label :category %><br />
  <%= select_tag "category", options_from_collection_for_select(@categories, "id", "name"), :prompt => "Select something" %>
  <% if not @category_id.nil? %>
    <script>  
    $("#category option").each(function(){
      if ( this.value == <%= @category_id %> )
        this.selected = true;
    });                    
    </script>              
  <% end %>
</div>

我想让类别<select>标记具有正确的值(@category_id)。

我尝试将一些脚本添加到category.js.coffee中,但我发现我无法将@category_id传递给coffee文件。所以脚本是内联的。

我不知道有什么其他方法可以解决这个问题。 我认为我的代码很难看。

任何人都可以对我的问题有任何其他解决方案。 如果你是我,你将使用哪种方法。 THX。

此致 Rails新手

1 个答案:

答案 0 :(得分:0)

您应该能够在没有javascript的情况下预先选择其中一个选项。试试options_from_collection_for_select(@categories, "id", "name", @category_id)