1

我认为我的表单标签:

<%= form_tag view_all_rater_path, :method => 'get' do %>
  <p>
    <%= text_field_tag :search, params[:search], :placeholder => 'Search by Set # or date' %></br>
    <%= submit_tag "Search", :class => "btn btn-link", :name => nil %>
  </p>
<% end %>

我的控制器动作:

  def view_all
    if params[:search]
      @ratings = RatingSet.find(:all, :conditions => ['id = ? or rating_date like ?', "%#{params[:search]}%"])
    else
      @ratings = RatingSet.all
    end
  end

我的路线:

  resources :rater, :only => [:index] do
    collection do
      get :rater_csv
      get :view_all
    end
  end

当我导航到 /rater/view_all 时,我得到一个No route matches {:action=>"view_all", :controller=>"rater"}

4

3 回答 3

2

这里的问题将是您的路线定义中的单数与复数。

您的路线提供以下输出rake routes

rater_csv_rater_index GET    /rater/rater_csv(.:format)                                  rater#rater_csv
 view_all_rater_index GET    /rater/view_all(.:format)                                   rater#view_all
          rater_index GET    /rater(.:format)                                            rater#index

因为您已经resources使用单数名称 ( ) 定义了复数资源 ( rater)。

如果您将其设为单一资源 ( resource),则路线将自行清理。

并且永远记得使用rake routes

于 2013-02-27T02:19:37.780 回答
1

您是否尝试在控制台上“rake routes”以查看您的路线结构?

于 2013-02-27T02:13:40.933 回答
0

2 各位:确保您呼叫正确的请求,GETPOST根据需要。

于 2018-06-12T12:27:43.353 回答