Строка Sinatra Mongoid недействительна UTF-8

Я написал это небольшое приложение:

require 'rubygems'
require 'sinatra'
require 'bson'
require 'mongoid'

Mongoid.configure do |config|
  name = "articles"
  host = "localhost"
  config.master = Mongo::Connection.new.db(name)
  config.persist_in_safe_mode = false
end

class Article
  include Mongoid::Document

  field :title
  field :content
end

get '/' do
  @articles = Article.all
end

get '/show/:id' do
  @article = Article.find(params[:id])
end

get '/new' do
  haml :new
end

post '/create' do
  @article = Article.new(params['article'])
  if @article.save
    redirect '/'
  else
    redirect '/new'
  end  
end

Следующая ошибка возникает, когда я публикую статью с содержанием «Тестовая статья на французском языке»

BSON::InvalidStringEncoding at /create String not valid UTF-8 

Как я могу исправить эту ошибку?

Спасибо


person hmaronon    schedule 08.10.2010    source источник
comment
Вы проверили страницу html формы и ее настройку кодировки/кодировки? который должен быть UTF-8.   -  person Michael Mao    schedule 08.10.2010


Ответы (1)


Это известная проблема с Ruby 1.9 и Sinatra. Дождитесь выхода Sinatra 1.1 или используйте версию Sinatra Edge с github.

person Konstantin Haase    schedule 17.10.2010