我遇到了一个非常奇怪的案子。我有这种情况,有时它会通过。有时却没有。事实上,每一步都是绿色的,但是在这一步之后,它产生了这个垃圾堆栈跟踪,它没有告诉我任何有关我的应用程序的信息。
我在这里做的并不复杂,只是想用TinyMCE创建一个该死的评论。我还有20个其他场景,其中一些场景要复杂得多。
可能有助于说明我的环境,尽管从堆栈跟踪中可以看出这一点:
Rails 3.1,ruby 1.9.2,最新的“稳定”版本的一切。 Postgres 9.0.4。
有人比我更聪明解释为什么我会遇到这个问题吗?
Feature: Payment object comments
In order to explain a action I performed on a payment object
As a user
I want to make a comment
@wip @javascript
Scenario: Creating a comment # features/payment_objects/comments.feature:8
[paperclip] Saving attachments.
[paperclip] Saving attachments.
[paperclip] Saving attachments.
Given I am in a company # features/step_definitions/application_steps.rb:1
And I have created 1 cash requisitions # features/step_definitions/payment_steps.rb:5
When I am on the requisitions page # features/step_definitions/web_steps.rb:44
And I click on the 1st requisition # features/step_definitions/payment_steps.rb:39
When I open the Comments tab # features/step_definitions/payment_steps.rb:101
http://127.0.0.1:51796/assets/tinymce/plugins/spellchecker/editor_plugin.js?3.4.5:1 Error: Sprockets::EncodingError: /Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/tinymce-rails-3.4.5/assets/precompiled/tinymce/plugins/spellchecker/editor_plugin.js has a invalid UTF-8 byte sequence
When I fill in "comment_content" with "Testing123" # features/step_definitions/web_steps.rb:64
And I click on "Comment" # features/step_definitions/web_steps.rb:52
Then there should be a comment saying "Testing123" # features/step_definitions/payment_steps.rb:106
http://127.0.0.1:51796/assets/tinymce/plugins/spellchecker/editor_plugin.js?3.4.5:1 Error: Sprockets::EncodingError: /Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/tinymce-rails-3.4.5/assets/precompiled/tinymce/plugins/spellchecker/editor_plugin.js has a invalid UTF-8 byte sequence
NoMethodError: undefined method `nfields' for nil:NilClass: SELECT tablename
FROM pg_tables
WHERE schemaname = ANY (current_schemas(false))
(ActiveRecord::StatementInvalid)
/Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.0/lib/active_support/whiny_nil.rb:48:in `method_missing'
/Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:490:in `result_as_array'
/Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:533:in `block in query'
/Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:244:in `block in log'
/Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.0/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
/Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:239:in `log'
/Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:532:in `query'
/Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:666:in `tables'
/Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:455:in `disable_referential_integrity'
/Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/database_cleaner-0.6.7/lib/database_cleaner/active_record/truncation.rb:113:in `each_table'
/Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/database_cleaner-0.6.7/lib/database_cleaner/active_record/truncation.rb:106:in `clean'
/Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/database_cleaner-0.6.7/lib/database_cleaner/base.rb:77:in `clean'
/Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/database_cleaner-0.6.7/lib/database_cleaner/configuration.rb:56:in `block in clean'
/Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/database_cleaner-0.6.7/lib/database_cleaner/configuration.rb:56:in `each'
/Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/database_cleaner-0.6.7/lib/database_cleaner/configuration.rb:56:in `clean'
/Users/pma/.rvm/gems/ruby-1.9.2-p290/gems/cucumber-rails-1.0.2/lib/cucumber/rails/hooks/database_cleaner.rb:9:in `After'
答案 0 :(得分:1)
当我运行
时,我收到了资产管道和tiny_mce的类似问题rake assets:precompile
...我尝试用iconv等转换文件editor_plugin_src.js和editor_plugin.js,但最终只是暂时删除它们,一切正常。我打算“正确修理”,但如果你不需要拼写检查,你可能不需要这些文件...