[英]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大家:确保您根据需要调用正确的请求, GET
或POST
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.