2014-09-24 23 views
0

我有一個看起來像這樣的路線找到的ContentTemplate content_templates控制器的batch_stats操作。無法與「ID」 = batch_stats

def batch_stats 
    puts "Are we ever getting here??" 
    ... 

不幸的是,這個動作永遠不會被觸發。 Rails在連接到控制器之前炸燬:

ActiveRecord::RecordNotFound - Couldn't find ContentTemplate with 'id'=batch_stats: 
    activerecord (4.1.5) lib/active_record/relation/finder_methods.rb:320:in `raise_record_not_found_exception!' 
    activerecord (4.1.5) lib/active_record/relation/finder_methods.rb:420:in `find_one' 
    activerecord (4.1.5) lib/active_record/relation/finder_methods.rb:404:in `find_with_ids' 
    activerecord (4.1.5) lib/active_record/relation/finder_methods.rb:68:in `find' 
    activerecord (4.1.5) lib/active_record/querying.rb:3:in `find' 
    cancancan (1.9.2) lib/cancan/model_adapters/abstract_adapter.rb:20:in `find' 
    cancancan (1.9.2) lib/cancan/controller_resource.rb:116:in `find_resource' 
    cancancan (1.9.2) lib/cancan/controller_resource.rb:68:in `load_resource_instance' 
    cancancan (1.9.2) lib/cancan/controller_resource.rb:32:in `load_resource' 
    cancancan (1.9.2) lib/cancan/controller_resource.rb:25:in `load_and_authorize_resource' 
    cancancan (1.9.2) lib/cancan/controller_resource.rb:10:in `block in add_before_filter' 
    ... 

爲什麼會發生這種情況?

+0

確保您重新啓動服務器以獲取新路由 – 2014-09-24 16:12:53

+0

我的服務器已重新啓動。即使重新啓動後,它仍然無法工作。 – Donato 2014-09-24 16:14:24

回答

0

我想通了。

我有兩種途徑:

resources :content_templates do 
    get :show_template, on: :member 
    end 

    get 'content_templates/batch_stats', to: 'content_templates#batch_stats', as: 'batch_stats' 

我擺脫了第二個的,只是增加了一個集合,第一個:

resources :content_templates do 
    get :show_template, on: :member 
    get :batch_stats, on: :collection 
    end 

現在它看起來不再爲成員ID。