为什么我在rails中的搜索会以点而不是斜线返回?

时间:2015-05-08 18:01:21

标签: ruby-on-rails routing

我的视图顶部有一个搜索框,如下所示

<%= form_tag clients_path(@client), :method => 'get' do %>
<h2> Search for Workflows </h2>
<p>
  <%= text_field_tag :search, params[:search] %>
  <%= submit_tag "Search", :name => nil %>
</p>
<% end %>

这是调用我的节目控制器

def show
@client = Client.find(params[:id])
@workflows_raw = Workflow.where(:client_id => @client.id)

unless params[:search].blank?
  @workflows_raw = @workflows_raw.search(params[:search])      
end

@workflows = @workflows_raw.sort_by {|flow| flow.name}

respond_to do |format|
  format.html
  format.js
end

我要回的是:

http://localhost:3000/clients.4?utf8=%E2%9C%93&search=Add

我想要回来的是:(注意斜线)

http://localhost:3000/clients/4?utf8=%E2%9C%93&search=Add

我错过了什么?

1 个答案:

答案 0 :(得分:1)

您应该在client_path(@client)行中使用form_tag(请注意单数client_path与复数clients_path