Select2-rails将数据传递到表单字段

时间:2014-03-17 17:40:54

标签: forms ruby-on-rails-4 select2-rails

我正在尝试使用select2-rails gem实现select 2,但我不熟悉jQuery或rails。

我基本上尝试从此网站复制占位符示例并根据我的需要进行调整:

http://rails-select2-example.herokuapp.com/

我有一个列出活动表演者的字段。最初我只有一个简单的文本字段:表演者。但我想用基于我的用户profile_name的查找替换它,然后我可以将其分配给:执行者字段。

所以我有这样的事情:

<%= select_tag "performer", options_from_collection_for_select(@user, "id", "profile_name"), include_blank: true, id: "performer", data: { placeholder: "Choose a performer" } %>  

其次是:

<script type="text/javascript"> $(document).ready(function() { 
$('select#performer').select2({
placeholder: "Choose a performer",
allowClear: true
});
});
</script>       

哪个有效,并给我一个用户下拉列表。但我不确定如何将此信息传递给:执行者字段。这可能非常简单,以至于每当我搜索到simple2时,似乎都没有提到你如何将它传递到现场。请帮忙!

UPDATE1:

我可以使用以下内容提交它但它变成一个简单的选择框而不是一个select2自动完成框。

 <%= f.select_tag "performer", options_from_collection_for_select(@user,    
"profile_name", "profile_name"), include_blank: true, id: "performer", data: 
{ placeholder: "Choose a performer" } %>

UPDATE2:

让它工作但仍无法显示占位符。

<%= f.select :performer, options_from_collection_for_select(@user,
 :profile_name,:profile_name), {}, include_blank: true, 
id: "performer", data: { placeholder: "Choose a performer" } %>   

1 个答案:

答案 0 :(得分:0)

而不是写数据:{占位符:“选择表演者”}更喜欢直接在逗号占位符后写作:“占位符值”在我看来它应该有效。