2010-10-08 5 views
2

J'ai écrit cette petite application:Sinatra MongoId Chaîne non valide 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 

L'erreur suivante se produit quand je poste un article avec un contenu "Test d'un article en français"

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

Comment puis-je corriger cette erreur?

Merci

+0

avez-vous vérifié la page formulaire html et son encodage/jeu de caractères? ce qui devrait être UTF-8. –

Répondre

0

Ceci est un problème connu avec Ruby 1.9 et Sinatra. Attendez la sortie de Sinatra 1.1 ou utilisez la version edge de Sinatra de github.