我的rails日志中出现此错误:
Completed 404 Not Found in 11ms
** [Raven] User excluded error: #<ActionController::RoutingError: Not Found>
ActionController::RoutingError (Not Found):
app/controllers/schools_controller.rb:6:in `common_content'
我不明白为什么,这是代码:
Show.html.erb
<%= link_to "Vérifiés (#{@count_verified})", rate_verified_path, remote: true %>
的routes.rb
get '/rate_verified' => 'schools#verified_rating'
schools_controller.rb
before_filter :common_content, :only => [:show, :verified_rating]
def verified_rating
@selected = @ratings.where(:verified => true)
respond_to do |format|
format.js
end
end
verified_rating.js.erb
$('#verifie').html("<%= escape_javascript render(:partial => 'rating') %>");
有人可以帮助我吗?
修改
common_content方法:
def common_content
@school = School.where(city_namespace: params[:city], title_namespace: params[:title]).first || raise(ActionController::RoutingError.new('Not Found'))
@rating = Rating.new(params[:rating])
@rating.school_id = @school.id
@ratings = @school.ratings.desc(:created_at)
end
答案 0 :(得分:2)
在common_content
方法的第一行,我们可以看到:
School.where(city_namespace: params[:city], title_namespace: params[:title]).first || raise(ActionController::RoutingError.new('Not Found'))
因为该代码的第一部分(||
之前)返回nil
,所以执行第二部分,即:
raise(ActionController::RoutingError.new('Not Found')
因此没有找到School
记录,因此提出了404。