Rails 3.1 недопустимый многобайтовый символ (UTF-8) - PullRequest
2 голосов
/ 01 августа 2011

Я пытаюсь передать это простое утверждение

assert_select '.price', /\€[,\d]+\.\d\d/

В представлении код для класса .price:

<span class="price">
 <%= number_to_currency(product.price, options = {:format => "%u%n", :unit => "&euro;"}) %> </span>

Когда я использую значение по умолчанию <%= number_to_currency(product.price) %>, все просто отлично. Когда я переключаюсь на евро, он просто не работает.

Это сообщение об ошибке:

/Users/noapologize/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.0.rc4/lib/active_support/dependencies.rb:237:in `require': /Users/noapologize/rails_projects/depot/test/functional/store_controller_test.rb:11: invalid multibyte char (UTF-8) (SyntaxError)
/Users/noapologize/rails_projects/depot/test/functional/store_controller_test.rb:11: invalid multibyte char (UTF-8)
/Users/noapologize/rails_projects/depot/test/functional/store_controller_test.rb:11: syntax error, unexpected $end, expecting keyword_end
    assert_select '.price', /\€[,\d]+\.\d\d/

Полагаю, способ написания этого assert_select неправильный. Может ли кто-нибудь просветить меня?

Спасибо за ваше время.

1 Ответ

2 голосов
/ 01 августа 2011

Если вы удалите косую черту из знака евро, это регулярное выражение будет правильно скомпилировано и будет работать.

...