Ruby on rails Rails 4:如何防止跳转到索引
Ruby on rails Rails 4:如何防止跳转到索引,ruby-on-rails,ruby,ruby-on-rails-4,url,controller,Ruby On Rails,Ruby,Ruby On Rails 4,Url,Controller,我是rails的新手,目前正在编写我的第一个应用程序。 我创建了对我的工具模型名称的搜索。它正确地传递参数,但不断地(跳转/重定向/传递参数)到我的模型的索引。我如何将它引导到工具搜索网站(带有搜索表单的网站) URL概述: http://localhost:3000/search # Start http://localhost:3000/tools?utf8=%E2%9C%93&search=&commit=Search # Directed to http://localh
我是rails的新手,目前正在编写我的第一个应用程序。
我创建了对我的工具模型名称的搜索。它正确地传递参数,但不断地(跳转/重定向/传递参数)到我的模型的索引。我如何将它引导到工具搜索网站(带有搜索表单的网站) URL概述:
http://localhost:3000/search # Start
http://localhost:3000/tools?utf8=%E2%9C%93&search=&commit=Search # Directed to
http://localhost:3000/search?utf8=%E2%9C%93&search=&commit=Search # Where it should direct to
代码概述:
http://localhost:3000/search # Start
http://localhost:3000/tools?utf8=%E2%9C%93&search=&commit=Search # Directed to
http://localhost:3000/search?utf8=%E2%9C%93&search=&commit=Search # Where it should direct to
路线
工具模型
工具控制器
搜索视图(app/views/tools/Search.html.haml)
感谢所有有用的回复,谢谢 将视图中的
工具路径
更改为搜索路径
= form_tag search_path, :method => 'get' do
= text_field_tag :search, params[:search]
= submit_tag "Search"
我还建议将方法更改为
POST
作为表单提交将视图中的工具路径更改为搜索路径
= form_tag search_path, :method => 'get' do
= text_field_tag :search, params[:search]
= submit_tag "Search"
我还建议将该方法更改为POST
作为其表单提交,并在config/route.rb中创建一个路由,将“搜索路径”重定向到您的方法,并在config/route.rb中创建一个路由,将“搜索路径”重定向到您的方法。
= form_tag search_path, :method => 'post' do
= text_field_tag :search, params[:search]
= submit_tag "Search"
- @tools.each do |tool|
= image_tag tool.cover_filename.url
%h2= link_to tool.title, tool
%p= tool.subtitle
%p= link_to tool.user.try(:username), '/users/'+tool.user_id.to_s
%p= tool.impressionist_count
%p= link_to tool.get_upvotes.size, like_tool_path(tool), method: :get
%p= link_to "Favorite", favorite_tool_path(tool, type: "favorite"), method: :get
%p= link_to "Unfavorite", favorite_tool_path(tool, type: "unfavorite"), method: :get
%p= link_to "Edit", edit_tool_path(tool)
%p= link_to 'http://ocubit.com/tools/'+tool.id.to_s
%p= time_ago_in_words(tool.created_at)
= form_tag search_path, :method => 'get' do
= text_field_tag :search, params[:search]
= submit_tag "Search"