我有一个简单的页面,其中包含一个文本字段和一个提交按钮。我希望用户能够输入字符串,并使用提交按钮将用户定向到某个页面,其中文本字段在URL中作为:id。
例如,如果用户输入“test”,则单击“提交”应将其发送到“/ controller / action / test”。
这可能吗?我试过了:
<%= form_tag :controller => "myController", :action => "myAction", :id => :textFieldName do %> ...
但这不起作用。 (我没想到会这样。)
由于
答案 0 :(得分:0)
你必须使用Javascript。用最简单的形式
$('form').submit(function() {
$(this).attr('action') = '/url/prefix/' + $(this).find('input#the_field').val();
return true;
});
然后处理程序应该返回,表单应该提交给新的URL。
请注意,您还应验证/规范化字段的内容。
答案 1 :(得分:0)
你可以试试......
不要设置表单标记的ID。而是从params
哈希值中获取文本字段的值,作为重定向到何处的指示。
即在视图中......
<% text_field_tag :id => "test_value" ... %>
并在控制器......
redirect_to "/action/" + params[:test_value]