Mic*_*aël 3 select ruby-on-rails
我想使用选择菜单重定向到另一个页面,但是当我选择"主页"时,它不会将我重定向到主页面.什么都没发生...
<select>
<option>Select a menu</option>
<option><%= link_to 'Home', '/' %></option>
</select>
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
tad*_*man 14
您不能在SELECT标记内放置链接.这是HTML的限制,而不是Rails.
你应该做的是这样的事情:
<%= select_tag(:menu_select, options_for_select([ 'Home', '/' ])) %>
Run Code Online (Sandbox Code Playgroud)
然后,您需要确保在选择新链接时加载页面.这可以使用jQuery使用类似的东西来完成:
$('#menu_select').bind('change', function() { window.location.pathname = $(this).val() });
Run Code Online (Sandbox Code Playgroud)
更改表单选择后,将加载新URL.
的link_to辅助输出,其是不会嵌套在内时工作的HTML超链接option元素.您应该更改您的选项,以便他们具有以下格式:
<option value="/">Home</option>
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用一些JavaScript来观察onchange下拉列表的事件,并将其设置document.location.href为所选选项的值.这将执行重定向.
或者,您可以在提交表单的下拉列表旁边有一个Go提交按钮,然后让Rails使用帮助程序执行服务器端重定向到所选选项的页面redirect_to.