Rails 3:表单提交 - 将Textfield设置为:id

时间:2011-10-27 22:20:30

标签: ruby-on-rails-3

我有一个简单的页面,其中包含一个文本字段和一个提交按钮。我希望用户能够输入字符串,并使用提交按钮将用户定向到某个页面,其中文本字段在URL中作为:id。

例如,如果用户输入“test”,则单击“提交”应将其发送到“/ controller / action / test”。

这可能吗?我试过了:

<%= form_tag :controller => "myController", :action => "myAction", :id => :textFieldName do %> ...

但这不起作用。 (我没想到会这样。)

由于

2 个答案:

答案 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]