わかりましたので、以下のコードを使用してタグのリストを取得し、それを select2 ボックスにロードします。["test1","test2"]
オプションは正しい形式で返されますが、何らかの形でループで処理する必要があると思います。
//This part is meant to grab the options. I am using model ID 473 for testing
$('#ticket_style_id').on("change", function(e) {
var tag_list = $.ajax({
url: "/grab_options/<%= 473 %>",
async: false
}).responseText;
//This part is meant to load the tag_list into a select2 box based on the
//selection above
$("#ticket_option_list").select2({
tags: [ tag_list ]
});
})
興味深いことに、次のように置き換えると:
$("#ticket_option_list").select2({
tags: ["test1","test2"]
});
...すべて正常に生成されます。
JSON は、次のコントローラー コードによって返されます。
def grab_options
style = Style.find(params[:id])
respond_to do |format|
format.js { render json: style.option_list.to_json }
end
end