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

ルートの構造を確認するために、コンソールで「レーキルート」を試しましたか?

于 2013-02-27T02:13:40.933 に答える
0

2全員:正しいリクエストを呼び出していること、GETまたはPOST必要に応じて呼び出していることを確認してください。

于 2018-06-12T12:27:43.353 に答える