我使用rails options_from_collection_for_select
进行选择。
options_from_collection_for_select(@tenants, :id, :tenant_text_value, current_tenant.try(:id))
def tenant_text_value
"<a href='http://www.google.com'>google</a>".html_safe
end
我想要<option value="215"><a href='http://www.google.com'>google</option>
,当我点击a
时,我会转到Google。
但是,我得到<option value="215">Google</option>
。
如果我使用"<a href='http://www.google.com'>google</a>".to_s
,我会获得<option value="215"><a href='http://www.google.com'>google</a></option>
。只是一个文本,而不是一个链接。
我该怎么办?
答案 0 :(得分:0)
我想我知道你想做什么,而你对自己想要做的事情存在缺陷。
我认为你想要做的是当某人选择要去某个页面的东西时
预期输出
<select id="abc">
<option value="http://www.google.com">Google</option>
<option value="http://www.yahoo.com">Yahoo</option>
<option value="http://www.google.com">Bing</option>
</select>
$("#abc").change(function() {
window.location.href = $(this).val();
});
滑轨
<%=
select_tag "abc",
options_from_collection_for_select(@tenants, @tenant.url, @tenant.name", @tenant.id)
%>
我希望这可以帮助你
快乐黑客
答案 1 :(得分:0)
FreshUrl.prototype.allReadyCallback = function() {
return window.history.replaceState({ turbolinks: true }, "", FreshUrl.cleanUrl());
};
或
<%= select_tag '<some_id>', options_from_collection_for_select(@tenants, :id, :tenant_text_value, current_tenant.try(:id)),:onchange => "window.location.href(this.value);" %>