繁体   English   中英

未找到Rails控制器路径

[英]Rails controller path not found

我的视图中的表单标记:

<%= 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"}

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

您的路线为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

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

如果你把它作为一个单一的资源( resource ),那么这些路线就会自我清理。

并始终记得使用rake routes

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

2大家:确保您根据需要调用正确的请求, GETPOST

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM