控制器中缺少操作,但没有调用该操作

时间:2014-02-07 21:05:17

标签: ruby-on-rails

我有以下控制器:

class SearchesController < ApplicationController
  def index
    if !params[:src_client].blank?
      @jobs = Job.joins(:clients).where('client.full_name ILIKE ?', "#{params[:src_client]}%")
      @clients = @jobs.map(&:client).uniq
    end
  end
end

以下观点:

<%= form_tag searches_path :method => 'get' do %>
  <table width=25%>
    <tr><td>Client:</td><td><%= text_field_tag :src_client, nil, :size => 50 %></td></tr>
    <tr><td colspan=2 align=center><%= submit_tag "Search" %></td></tr>
  </table>
<% end %>

因此,当我点击提交按钮时,我收到以下错误。

The action 'create' could not be found for SearchesController

为什么要尝试调用create动作?我该怎么做才能让它简单地运行搜索?

谢谢!

1 个答案:

答案 0 :(得分:0)

您的form_tag行中缺少逗号,请将其更改为:

<%= form_tag searches_path, :method => 'get' do %>

您的问题是由于您有效地将:method => 'get'传递到searches_path而不是form_tag,因此它是默认为:method => 'post'