2011-10-19 90 views
-2
<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> 

我想使标记具有正确的值(@category_id)。如何使用标记为选定选项来呈现选择标记

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

我不知道任何其他方式来解决这个问题。 我只是觉得我的代码很丑。

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

问候, Rails的新手

回答

0

你应该能够呈现的选项之一,而不JavaScript作为预选。尝试options_from_collection_for_select(@categories, "id", "name", @category_id)

+0

谢谢,这是我的解决方案〜 – slackcode