2015-08-14 3 views
0

Я использовал рельсы options_from_collection_for_select для выбора.Как показать html в рельсах 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

Я думаю, что вам нужно JQuery или: OnChange возможность выбора тега. –

ответ

0
<%= select_tag '<some_id>', options_from_collection_for_select(@tenants, :id, :tenant_text_value, current_tenant.try(:id)),:onchange => "window.location.href(this.value);" %> 

или

<%= select_tag '<some_id>', options_from_collection_for_select(@tenants, :id, :tenant_text_value, current_tenant.try(:id)) %> 

<script> 
    $(function(){ 
     $('#team_id').bind('change', function() { 
     var url = $(this).val() 
      if (url) { 
       window.location.href(url); 
      } 
      return false; 
     }); 
    }); 
</script> 
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(); 
}); 

Rails

<%= 
    select_tag "abc", 
    options_from_collection_for_select(@tenants, @tenant.url, @tenant.name", @tenant.id) 
%> 

Я надеюсь, что это помогает вам

Happy Hacking

+0

Пропустил это так много ... Был занят добавлением комментариев к вопросу вместо этого ...: D –

+0

Спасибо, но мне нужно получить tenant_id из значения параметра. Поэтому я должен использовать jQuery для завершения. – Jerry

Смежные вопросы