我正在努力实现以下目标:
当用户在www.something.com
的表单中输入5位数ID时,系统会将用户重定向到www.something.com/obtain/(5 digit ID)
。
我知道手动输入网址www.something.com/obtain/(5 digit ID)
会触发所需的操作但是如何创建一个表单呢?
无论如何,我可以用<%= form_tag .... %>
来实现这个目标吗?
Rake路线有以下条目
获取/obtain/:pid(.:format)产品#获得 {:ID =&GT; / \ d + /}
目前在控制器中
def obtain
scrapy = Scraper.new
@product = scrapy.scrape((params[:pid]))
if @product
redirect_to @product, notice: 'Product successfully updated'
elsif
redirect_to root_path, notice: 'Invalid product requested'
end
end
答案 0 :(得分:0)
如果您要提交表单,您将有一个函数或一些代码来处理输入,即:至少提取request.query就像:
$var = request.query("ID")
所以在代码执行了它的任务之后你需要的是一个重定向的行,如:
whatever.redirect("www.something.com/obtain/" & $var
答案 1 :(得分:0)
在您的视图中创建一个表单:
<%= form_tag({:controller=>"products", :action=>"obtain"}, :method => "get") do %>
<%= text_field_tag(:pid) %>
<%= submit_tag "Search with PID" %>
<% end %>
我不知道你的obtain
动作是否是由get
触发的,但如果它不仅仅是将其更改为触发的任何动作(post,put)。