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

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

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 ответ

Решение

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

Другие вопросы по тегам