0

rspec と poltergeist/phantomjs を使用してアプリケーションをテストしています。デフォルト ルートを変更するために gem Friendly_id をインストールした後、すべての JavaScript テストで次のエラーがスローされ始めました。

Failure/Error: Unable to find matching line from backtrace
    ActiveRecord::RecordNotFound:
        Couldn't find SelectionProcess with id = assets

test.rb の私のアセット構成:

config.serve_static_assets = true 
config.static_cache_control = "public, max-age=3600"

バックトレースの最後の行:

 # /Users/Augusto/.rvm/gems/ruby-1.9.3-p362@startupbase/gems/activerecord-3.2.12/lib/active_record/relation/finder_methods.rb:267:in `find_by_attributes'
 # /Users/Augusto/.rvm/gems/ruby-1.9.3-p362@startupbase/gems/activerecord-3.2.12/lib/active_record/dynamic_matchers.rb:50:in `method_missing'
 # /Users/Augusto/.rvm/gems/ruby-1.9.3-p362@startupbase/gems/cancan-1.6.9/lib/cancan/controller_resource.rb:109:in `find_resource'
 # /Users/Augusto/.rvm/gems/ruby-1.9.3-p362@startupbase/gems/cancan-1.6.9/lib/cancan/controller_resource.rb:68:in `load_resource_instance'
 # /Users/Augusto/.rvm/gems/ruby-1.9.3-p362@startupbase/gems/cancan-1.6.9/lib/cancan/controller_resource.rb:32:in `load_resource'
 # /Users/Augusto/.rvm/gems/ruby-1.9.3-p362@startupbase/gems/cancan-1.6.9/lib/cancan/controller_resource.rb:10:in `block in add_before_filter'
4

1 に答える 1

0

Friendly_id がアセット URL にも適用されているようです。ルート URL (/) に Friendly_id を定義すると、すべてのアセット リクエスト (/assets) が引き継がれます。したがって、Rails は id = assets のレコードを見つけようとします。

于 2013-04-03T20:08:11.210 に答える